0

在 Amazon Listing API 中包含特殊字符(例如“#”)时出现问题。例如,sku,HP-2DP98AA#ABC-200621 将更新数量为 20。但是,Amazon API 响应InvalidSignature

在向亚马逊提交请求之前,我确实应用了 SKU 的编码,但一直失败。任何的想法?

4

1 回答 1

0

AWS 文档sell -partner-api-docs Rest API 关于如何修补项目 URL 是PATCH /listings/2020-09-01/items/{sellerId}/{sku}。这意味着sku需要像这样添加包含“#”的URL。

/listings/2020-09-01/items/{your sellerId}/HP-2DP98AA#ABC-200621

此请求 URL 将导致异常或来自 AWS 的 InvalidSignature,因为 URL 中的“#”需要将“#”编码为“%23”,如下所示:

/listings/2020-09-01/items/{your sellerId}/HP-2DP98AA%23ABC-200621

此外,还需要添加 SellerId、marketplaceIds 和 sku 参数。

此外,AWS4 规范请求如下所示:

AWS4 Canonical Request: '"PATCH
/listings/2020-09-01/items/{your sellerId}/HP-2DP98AA%2523ABC-200621
marketplaceIds={your marketplaceIds}&sellerId={your sellerId}&sku=HP-2DP98AA%23ABC-200621
content-type:application/json; charset=utf-8
host:sellingpartnerapi-na.amazon.com
x-amz-access-token:Atza|...
x-amz-date:20210831T190152Z
x-amz-security-token:Fwo...

content-type;host;x-amz-access-token;x-amz-date;x-amz-security-token
d1809d68......"
于 2021-08-31T20:21:06.237 回答