1

我正在尝试在一次 API 命中中获取所有发票。因为,对于每个拥有 100 张发票的用户。

它将超过 API 限制(分钟限制:60 秒滚动窗口中的 60 次调用)。

我正在尝试将所有发票 ID 存储到一个数组中,从中我将获取用户的详细信息,然后在本地循环记录并显示它。这是正确的方式?

invoice_ids = user.estimates.select("invoice_id") || [] xero = Xeroizer::PrivateApplication.new(XERO_CONFIG["key"], XERO_CONFIG["secret"], XERO_CONFIG["path"], :rate_limit_sleep => 5)
invoices = ['795f789b-5958-xxxx-yyyy-48436dbe7757','987g389b-5958-xxxx-yyyy-68636dbe5589'] 
inv_id = invoice_ids.pluck(:invoice_id) 
invoices = xero.Invoice.all(:where => 'InvoiceID==inv_id')

另外,我收到以下错误:

Xeroizer::ApiException (QueryParseException: No property or field 'inv_id' exists in type 'Invoice')
4

1 回答 1

0

看起来问题是您没有inv_id正确插入 s 。您可能需要执行以下操作:

invoices = xero.Invoice.all(:where => "InvoiceID==\"#{inv_id}\"")

您可能必须对inv_id变量执行一些额外的格式化以使其成为有效的 Xero 字符串。https://github.com/waynerobinson/xeroizer#retrieving-data

于 2017-09-06T12:19:43.277 回答