0

Amazon Product Advertising API を使用して商品を検索したいと考えています。

製品 (com.advertising.api.sample) を検索するために、Java サンプル コードの使用を開始しました。

コンパイルして正常に実行されますが、応答の解析ではすべてが正常に機能すると想定されるため、Null Pointer Exception が発生します (サンプルでは問題ありません)。

したがって、「curl」を使用して同じクエリを実行します....

curl http://ecs.amazonaws.com/onca/xml?AWSAccessKeyId= &ItemId=0545010225&Operation=ItemLookup&ResponseGroup=Small&Service=AWSECommerceService&Timestamp=2012-08-30T11%3A31%3A54Z&Version=2009-03-31&Signature=

この出力を示します:

[1] 17603 [2] 17604 [3] 17605 [4] 17606 [5] 17607 [6] 17608 [7] 17609 [2] 完了 ItemId=0545010225 [3] 完了 Operation=ItemLookup [4] 完了 ResponseGroup=Small [ 5] 完了サービス = AWSECommerceService [6] 完了タイムスタンプ = 2012-08-30T11%3A31%3A54Z [7] 完了バージョン = 2009-03-31

XML の戻り値にエラーが記述されています。

AWS.MissingServiceParameterリクエストに Service パラメータがありません。サービス パラメータを追加してください

ただし、curl コマンドの入力とそのログからわかるように、サービス パラメータが存在し、次のように設定されています。API で指定された AWSECommerceService

何か間違ったことをしている可能性があることに気付きましたが、それは Service パラメータではないようで、そのエラー応答で別の問題の原因を見つけるのは難しいでしょう.

何か案は?

4

2 に答える 2

1

興味深いことに、ブラウザから同じリクエストを行うと、別のレスポンスが得られます: (短縮)

リクエストに必要なパラメータがありません。必須パラメーターには AssociateTag が含まれます。

そのため、必須の「AssociateTag」パラメーターを要求に含めるように、Java REST サンプル コードを変更する必要があります。SignedRequestHelper クラスを変更してこれを行いました。

その後、動作し、期待どおりの応答が得られます。

于 2012-08-30T12:11:51.733 に答える
0

問題は、associateTag が必要であることがわかりました。AssociateTag を追加すると、サンプル コードが機能しました。

于 2013-02-25T17:38:54.843 に答える