我发布了这篇文章: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."}]}'
有人可以指出我应该做什么吗?清晰的指示将会非常有帮助。我也尝试过“客户端凭据授予流程”,但最终导致了死胡同。
提前致谢,
我意识到这是一个老问题,但以防万一这对其他人有帮助。
获取 OAuth 访问令牌时,您需要:
将 grant_type 设置为 client_credentials。 将范围设置为使用访问令牌调用的接口所需的范围的 URL 编码的空格分隔列表。
因此,在您的示例中将范围设置为“https%3A%2F%2Fapi.ebay.com%2Foauth%2Fapi_scope%2Fbuy.marketing”
然后将返回的 OAuth 代码与您的查询一起使用