根据身份验证问题,无法使用 eBay API 中的 GetMerchandishedProducts

问题描述 投票:0回答:1

我发布了这篇文章:https://forums.developer.ebay.com/questions/31327/unable-to-use-getmerchandisedproducts-according-to.html,但没有人回答我。因此,我在这里复制了同样的问题,任何帮助将不胜感激:

我认为问题与代币问题有关。如果我理解正确的话,有几种类型的令牌 - 我完全困惑了,这是我的代码:

from requests import get 

category_id = "11071" # TVs
url =  f"https://api.ebay.com/buy/marketing/v1_beta/merchandised_product?metric_name=BEST_SELLING&category_id={category_id}&limit=100"
postman_headers = {
     "Content-Type": "application/x-www-form-urlencoded",
     "Authorization" : "Bearer " + token 
} 

response = get(url, headers = postman_headers)
print(response.content)

但是,它返回给我:

b'{"errors":[{"errorId":1100,"domain":"ACCESS","category":"REQUEST","message":"Access  denied","longMessage":"Insufficient permissions to fulfill the request."}]}'

有人可以指出我应该做什么吗?清晰的指示将会非常有帮助。我也尝试过“客户端凭据授予流程”,但最终导致了死胡同。

提前致谢,

python python-requests ebay-api
1个回答
0
投票

我意识到这是一个老问题,但以防万一这对其他人有帮助。

获取 OAuth 访问令牌时,您需要:

将 grant_type 设置为 client_credentials。 将范围设置为使用访问令牌调用的接口所需的范围的 URL 编码的空格分隔列表。

因此,在您的示例中将范围设置为“https%3A%2F%2Fapi.ebay.com%2Foauth%2Fapi_scope%2Fbuy.marketing”

然后将返回的 OAuth 代码与您的查询一起使用

© www.soinside.com 2019 - 2024. All rights reserved.