私はAPIドキュメントの指示に正確に従っています.いくつかの欲求不満の後、最終的にhttp://docs.amazonwebservices.com/AWSECommerceService/2011-08-01/DG/rest-signatureの例から直接何かをまとめました. html
いくつかのマシンでこの python スクリプトを試してみましたが、すべてのマシンで同じ結果が得られました。
import hmac
from base64 import b64encode
from hashlib import sha256
secret_key = '1234567890'
to_sign = """GET
webservices.amazon.com
/onca/xml
AWSAccessKeyId=AKIAI44QH8DHBEXAMPLE&ItemId=0679722769&Operation=ItemLookup&ResponseGroup=ItemAttributes%2COffers%2CImages%2CReviews&Service=AWSECommerceService&Timestamp=2009-01-01T12%3A00%3A00Z&Version=2009-01-06"""
print b64encode(hmac.new(secret_key, to_sign, sha256).digest())
指示には、このリクエストとこのキーを使用した署名はあると書かれていますがNace+U3Az4OhN7tISqgs1vdLBHBEijWcBeCqL5xN9xg=
、O6UTkH+m4zAQUvB+WXUZJeA8bZcKAdkc4crKgHtbc6s=
(誰かが何かを言う前に: サンプル ページは 65 文字で折り返されたリクエストを表示します。私は既にそれを試しました。これは解決策を提供せず、署名作成の手順には記載されていません。)
編集:答えが見つかりました。以下を参照してください。