DOBON.NET DOBON.NETプログラミング掲示板過去ログ

AmazonのAPI

環境/言語:[Visual Studio 2005 C#]
分類:[.NET]

こんにちは、いつもお世話になっております。

AmazonのWEBサービスを利用して、検索データを取得しようとしているのですがうまくいきません。
エラーが"The request must contain the parameter Signature."と出ます

もしも解決策をご存じの方がいらっしゃいましたら、教えていただけないでしょうか。
よろしくお願いいたします。

環境は、Visual Studio 2005 C# です。
{
      private const string MY_AWS_ACCESS_KEY_ID = "自分のアクセスキー";

ItemSearchRequest req = new ItemSearchRequest();
req.SearchIndex = "Books";
req.Keywords = "ハリーポッター"; // 検索条件
//取得するデータの種類(範囲)を指定
req.ResponseGroup = new string[] {
"Author","BrowseNode","Condition",
"ItemPage","Keywords","MaximumPrice",
"MerchantId","MinimumPrice","Power",
"Publisher","Sort","Title"};

//ページを指定する。1-400まで。1ページ10の結果まで取得。
req.ItemPage = "1";
//並び替え方
//SearchIndexや地域によって異なる
if (req.SearchIndex != "Blended" &&
req.SearchIndex != "MusicTracks")
req.Sort = "salesrank";

ItemSearch isc = new ItemSearch();

//あなたのAccess Key ID
isc.AWSAccessKeyId = MY_AWS_ACCESS_KEY_ID;
isc.Request = new ItemSearchRequest[] { req };

AWSECommerceService aws = new AWSECommerceService();

ItemSearchResponse res;


//ItemSearchオペレーションを実行し、結果を取得
res = aws.ItemSearch(isc);

}
  • 題名: Re[1]: AmazonのAPI
  • 著者: Azulean
  • 日時: 2010/05/23 8:20:40
  • ID: 26856
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
■No26855に返信(kintonさんの記事)
> AmazonのWEBサービスを利用して、検索データを取得しようとしているのですがうまくいきません。
> エラーが"The request must contain the parameter Signature."と出ます

2009 年 8 月頃からか、Amazon の API の仕様が変更されています。
http://developer.amazonwebservices.com/connect/ann.jspa?annID=476

どのようにすれば、Signed request になるかは調べていません。
探してみてください。
■No26855に返信(kintonさんの記事)
> AmazonのWEBサービスを利用して、検索データを取得しようとしているのですがうまくいきません。
> エラーが"The request must contain the parameter Signature."と出ます
>
> もしも解決策をご存じの方がいらっしゃいましたら、教えていただけないでしょうか。

Amazonで入手できるサンプルコードにSignedRequestHelper.csファイルがあります。SignedRequestHelperクラスのSignメソッドで署名できます。
今使われている?サンプルコードが古いのではないでしょうか?

参考URL:
「SignedRequestHelperについて」
http://developer.amazonwebservices.com/connect/thread.jspa?messageID=133170
  • 題名: Re[2]: AmazonのAPI
  • 著者: kinton
  • 日時: 2010/05/23 17:02:09
  • ID: 26861
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
> Azuleanさん
>よねKENさん

どうやらおっしゃる通り、古いAPIの書き方をしていたようです。
サンプルを見ながらでうまくいきました。
ありがとうございました!
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板