Xeroizer :: ApiException:QueryParseException:不存在属性或字段“inv_id”

时间:2017-09-06 09:45:59

标签: ruby ruby-on-rails-4 rubygems xero-api xeroizer

我正在尝试通过一次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')

1 个答案:

答案 0 :(得分:0)

看起来问题是您没有正确插入inv_id s。你可能需要这样做:

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

您可能需要在inv_id变量上执行一些其他格式设置,以使其成为有效的Xero字符串。 https://github.com/waynerobinson/xeroizer#retrieving-data