gpt4 book ai didi

python - 调用 Amazon SP-API 时出现“缺少授权 token ”响应

转载 作者:行者123 更新时间:2023-12-05 05:43:53 25 4
gpt4 key购买 nike

我正在尝试从 AMZ SP-API 获得成功的响应。以下是我当前的 400 响应。

我认为问题出在 header 上。文档 here不要真正说明标题内容需要是什么。

当我使用 SaleWe​​aver 包时 here ,我能够使用我的 AWS 和卖家凭证成功调用电话,所以我知道这些工作...

FWIW,我正在使用我的“Merchant Token”作为“sellerID”PATH 值。

import requests
import json

headers = {
'x-amz-access-token': access,
'client_id': clientid,
'client_secret':secret,
'x-amz-date' : '20220402'
}

payload = {'marketplaceId':'ATVPDKIKX0DER'}

sellerId = merch_token
sku = sku

response = requests.get(
f'https://sellingpartnerapi-na.amazon.com/listings/2021-08-01/items/{sellerId}/{sku}',
headers = headers,
params = payload
)

print(response.text)

回复:

{
"errors": [
{
"message": "Access to requested resource is denied.",
"code": "MissingAuthenticationToken"
}
]
}

最佳答案

header 有4个字段没有签名:

host: sellingpartnerapi-na.amazon.com
user-agent: My Selling Tool/2.0 (Language=Java/1.8.0.221;
Platform=Windows/10)
x-amz-access-token=Atza|IQEBLjAsAhRmHjNgHpi0U-Dme37rR6CuUpSREXAMPLE
x-amz-date: 20190430T123600Z

如果您使用 AWS SDK,您 don't需要签署您的请求。在您的情况下,您必须添加 Authentication header (这就是为什么它现在显示缺少 token 的原因)。使用 Auth header ,请求看起来像

Authorization: AWS4-HMAC-SHA256 Credential=AKIAIHV6HIXXXXXXX/20201022/us-east-1/execute-api/aws4_request, SignedHeaders=host;user-agent;x-amz-access-token,
Signature=5d672d79c15b13162d9279b0855cfba6789a8edb4c82c400e06b5924aEXAMPLE
host: sellingpartnerapi-na.amazon.com
user-agent: ...
x-amz-access-token=Atza|IQEBL...
x-amz-date: ...

您可以阅读更多有关如何计算签名以及如何添加身份验证 header 的信息 here .

关于python - 调用 Amazon SP-API 时出现“缺少授权 token ”响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71720646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com