Amazon sp-api 更新数量时不正确的 URL 编码/解码字符

Amazon sp-api incorrect URL encoding / decoding characters while updating quantity

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

我在向亚马逊提交请求之前确实为SKU申请了编码,但一直失败。有什么想法吗?

AWS 文档 selling-partner-api-docs 其余 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 Canonical Request 如下所示:

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......"