5

Amazon APIを使用していますが、データベースからAmazon Webサイトに株式を更新しているときに、このエラーが発生します。

Caught Exception: Internal Error
Response Status Code: 0
Error Code:
Error Type:
Request ID:
XML:

このスレッド(amazonsellercommunity .com / forums / thread.jspa?messageID = 2194823)を読んでから、エラーの説明を取得します。

<Error><Type>Sender</Type><Code>SignatureDoesNotMatch</Code><Message>The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.</Message><Detail/></Error>

そのため、MARKETPLACE_ID、MERCHANT_ID、AWS_ACCESS_KEY_ID、またはAWS_SECRET_ACCESS_KEYが間違っている可能性があると思いました。しかし、私はチェックしました、そしてこれらの情報は正しいです。

実際、なぜこのエラーが発生するのかわかりません...以前は完全に機能し、数日後にはクラッシュしました。また、コードは何も変更していません。不思議ですね。

編集 :

これが私の署名のセクションコードです。

define ('DATE_FORMAT', 'Y-m-d\TH:i:s\Z');
define('AWS_ACCESS_KEY_ID', 'ABC...'); // My AWS Access Key Id (20 characters)
define('AWS_SECRET_ACCESS_KEY', 'ABCDEF...'); // My AWS Secret Access Key (40 characters)
define('APPLICATION_NAME', 'MyCompany_AmazonMWS');
define('APPLICATION_VERSION', '0.0.1');
define ('MERCHANT_ID', 'XXXXXXX'); // My Merchant ID
define ('MARKETPLACE_ID', 'XXXXXXX'); // My Marketplace ID

$config = array (
'ServiceURL' => "https://mws.amazonservices.fr",
'ProxyHost' => null,
'ProxyPort' => -1,
'MaxErrorRetry' => 3,
);

$service = new MarketplaceWebService_Client(
AWS_ACCESS_KEY_ID,
AWS_SECRET_ACCESS_KEY,
$config,
APPLICATION_NAME,
APPLICATION_VERSION
);

$parameters = array (
'Marketplace' => MARKETPLACE_ID,
'Merchant' => MERCHANT_ID,
'FeedType' => '_POST_INVENTORY_AVAILABILITY_DATA_',
'FeedContent' => $feedHandle,
'PurgeAndReplace' => false,
'ContentMd5' => base64_encode(md5(stream_get_contents($feedHandle), true)),
);

// and then I do this:

$request = new MarketplaceWebService_Model_SubmitFeedRequest($parameters);
invokeSubmitFeed($service, $request);

私のコードの一部を見たい場合は、聞いてください。

前もって感謝します。

4

3 に答える 3

2

私の記憶が正しければ、Amazon API の認証メカニズムは、マシンの現在の日付/時刻 (リクエストに署名するプロセスで使用される) に敏感です。日付/時刻が正しく設定されているかどうかを確認してください。

于 2012-10-10T16:14:52.147 に答える
1

私にとっては、URL エスケープ文字列を渡す Web アプリのエラーでした。特殊文字は amazon とは異なり、この (あまり役に立たない) エラーが発生しました。ファイル名に URL エスケープ文字が含まれていないことを確認してください。

于 2013-12-27T18:12:29.713 に答える