Amazon Web Services への手動でのリクエストに失敗する

SPECIAL

Amazon Web Services (AWS) を利用するためのアクセスキーを取得したので、それを用いて Amazon Product Advertising API に手動でリクエストを送ってみようとしたのですけど、何故か上手く行きませんでした。


Amazon Product Advertising API

前回 Amazon Web Services のアクセスキーを取得する で、Amazon Product Advertising API で使用する Amazon Web Services (AWS) のアクセスキーを取得したので、今回はそれを使って実際にリクエストを送信してみようと思います。

 

手動でリクエストを送信する…(何故か失敗)

Amazon Product Advertising API のアクセスキーを取得したので、まずは手動でリクエストを送信してみることにしました。

ただ、何故か、AWS Getting Started Guide にある手順の通りに実施してもエラーとなってしまいました。原因は分らないながら、とりあえずやってみたことを記しておこうと思います。

ちなみに PHP プログラムからのリクエストは成功するようでした。そちらについては EZ-NET: AWS に PHP からリクエストを送信できる環境を整える に記していますので、参考にしてみてください。

 

手動でリクエストする手順としては、Signed Requests Helper にアクセスして、AWS の "アクセスキー" と "シークレットアクセスキー" とを、そのサイト内の下記のような所定のテキストボックスに入力します。

そしてその下の "Unsigned URL:" に、次のように、そのページまたは AWS Getting Started Guide に記載されている URL を入力します。

そして、さらに下にある 【Display Signed URL】 ボタンをクリックします。

 

こうすることで、ボタンの上の "Signed URL:" の欄に、リクエストを送信するのに使用する URL が出力されます。

これをコピーして、ブラウザーの URL に張り付ければ、Amazon Product Advertising API にリクエストを送信することができました。

 

ただ、これを最初に試したとき、自分の環境では次のようなエラーが発生してしまいました。

<?xml version="1.0" ?>

<ErrorResponse>

<Error>

<Code>InternalError</Code>

<Message>We encountered an internal error. Please try again.</Message>

</Error>

<RequestID>b915cb0a-1ca0-4033-xxxx-xxxxxxxxxxxx</RequestID>

</ErrorResponse>

もしかして、Signed URL が正しくコピーできていなかったり、AWS アクセスキーやシークレットアクセスキーが間違っているのではないかと、その辺りを何度も確認してみたのですけど、上手く行く気配がありませんでした。

何回か試してみたりはしたのですけど、何かを間違っている感じもしないし、どうにも突破口が開けなそうなので、手動でのアクセスはひとまず打ち切りとして、とりあえず PHP を使ってのアクセスに移ってみたいと思います。