2017-09-06 5 views
1

単一のAPIヒットですべての請求書を取得しようとしています。 100人の請求書を持つすべてのユーザーのためです。Xeroizer :: ApiException:QueryParseException:プロパティまたはフィールド 'inv_id'が存在しません。

APIの制限を超えます(ローリング60秒のウィンドウでは、最小制限:60コール)。

私はすべての請求書IDを1つの配列に格納しようとしています。それからユーザーの詳細を取得し、レコードをローカルにループして表示します。それは正しい方法です?

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') 

また、私は次のエラーを取得しています:問題はあなたが正しくinv_id Sを補間していないということであるように

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

答えて

0

が見えます。あなたは、おそらくこのような何かを実行する必要があります。

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

あなたはそれ有効なXeroなどの文字列を作るためにinv_id変数にいくつかの追加の書式設定を実行する必要があります。 https://github.com/waynerobinson/xeroizer#retrieving-data

関連する問題