我试图在单个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')
看来问题是您无法正确插值inv_id
。您可能需要做这样的事情:
invoices = xero.Invoice.all(:where => "InvoiceID=="#{inv_id}"")
您可能必须在inv_id
变量上执行一些其他格式,以使其成为有效的Xero字符串。https://github.com/waynerobinson/xeroizer#retrieving-data