Tôi đang sử dụng Amazon API và nhận được lỗi này khi cập nhật chứng khoán của tôi từ cơ sở dữ liệu của tôi vào trang web Amazon:SignatureDoesNotMatch ở Amazon API
Caught Exception: Internal Error
Response Status Code: 0
Error Code:
Error Type:
Request ID:
XML:
Tôi đọc chủ đề này (amazonsellercommunity com/diễn đàn/thread.jspa.? MessageID = 2194823) và sau đó nhận được lời giải thích lỗi:
<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>
Vì vậy, tôi nghĩ MARKETPLACE_ID tôi, merchant_id, AWS_ACCESS_KEY_ID hoặc AWS_SECRET_ACCESS_KEY có thể là sai. Nhưng tôi đã kiểm tra và những thông tin này là chính xác.
Thực ra, tôi không hiểu tại sao lỗi này xảy ra ... Trước đây, nó hoạt động hoàn hảo và từ một vài ngày nó chỉ gặp sự cố. Và tôi không thay đổi bất cứ điều gì trong mã của tôi. Lạ thật, phải không?
Chỉnh sửa:
Đây là mã phần của tôi để ký.
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);
Nếu bạn muốn xem một số phần của mã, chỉ cần hỏi.
Cảm ơn bạn trước.
Hãy thể ai đó giúp tôi? – Octelio
Hãy thử điều này với amazon Scratchpad.https: //mws.amazonservices.de/scratchpad/index.html –
Tôi đang sử dụng bàn di chuột và vẫn gặp phải lỗi tương tự này. Tôi đã gõ lại các phím nhiều lần, sao chép và dán, nhưng ngay cả các scratchpad báo cáo rằng chữ ký không phù hợp, không chắc chắn những gì để thử tiếp theo. – Jeff