我正在尝试通过一次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')
答案 0 :(得分:0)
看起来问题是您没有正确插入inv_id
s。你可能需要这样做:
invoices = xero.Invoice.all(:where => "InvoiceID==\"#{inv_id}\"")
您可能需要在inv_id
变量上执行一些其他格式设置,以使其成为有效的Xero字符串。 https://github.com/waynerobinson/xeroizer#retrieving-data