0

QuickBooks Anywhere を使用して QuickBooks Online 統合を構築しました。私は QuickBooks Online の有料版を使用していますが、顧客は試用版を使用しています。私のアプリは現在開発モードであり、Intuit マーケットプレイスによって承認されていません。

このコードは私のサイトで正常に動作します。QuickBooks Online を試用しているということは、データを書き込めないということですか? 私の顧客は、アカウント、ベンダー、支払い方法のリストを問題なく取得できました。

これが私のコードです:

ItemQuery itQuery = new ItemQuery();
itQuery.Name = "Unknown";
itemsList = itQuery.ExecuteQuery<Item>();

QBO: エラー 1/23/2013 12:59:48 PM アイテムのクエリ エラー: Intuit.Ipp.E​​xception.InvalidTokenException: Intuit.Ipp.Services.QboService.Get[T](IQboQuery qboQuery, String simpleQuery, Boolean isQuerySpecified) で権限がありませんIntuit.Ipp.Services.ServiceExtensions.ExecuteQuery[T] (IQuery クエリ、ServiceContext serviceContext) で

顧客は OK を認証できます。

OAuthRequestValidator oauthValidator = new OAuthRequestValidator(acT, acTS, coK, coKS);
IntuitServicesType st = IntuitServicesType.QBO;
ServiceContext context = new ServiceContext(oauthValidator, acT, cId, st);
dataServices = new DataServices(context);
4

2 に答える 2

2

itQuery.Name 変数が null または空の文字列の場合、このエラーが発生することがわかりました。Intuit でエラー メッセージを「アイテム クエリ名フィールドに値を指定する必要があります。空または null 文字列が入力されました。」に変更できますか。

私の特定のケースでは、不明と言うはずの文字列がありました。空文字列でした。

于 2013-01-23T19:33:45.370 に答える
1

空の文字列を渡さないように、アプリケーションにエラー チェックを追加する必要があります。そうしないと、不要な API 呼び出しを行うことになります。

根本的な原因は、空の文字列が渡されたときに DevKit によって署名が正しく計算されていないようですが、要求が有効ではありません。

于 2013-01-24T22:41:58.317 に答える