gpt4 book ai didi

python - 在 Python 中获取 eBay 的最终用户 token

转载 作者:太空宇宙 更新时间:2023-11-03 11:38:14 24 4
gpt4 key购买 nike

目前我正在使用带有 Python 的 eBay Trading API。感谢:https://github.com/timotheus/ebaysdk-python

我用了https://github.com/luke-dixon/django-ebay-accounts为用户获取 token 。

现在,我想使用 Restful API ( https://developer.ebay.com/docs#Acc )。我不认为我可以使用我已经拥有的 token 。所以,我设法感谢Getting an Ebay OAuth Token得到一个。但我想我遗漏了一些东西,因为在此过程中我无法包含用户信息(名称/密码),因此,例如 https://api.ebay.com/sell/fulfillment/v1/order?limit= 10 返回:

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

知道如何为用户获取 token 吗?

只是一段代码让事情更清楚:

AppSettings = {
'app_id': EBAY_PRODUCTION_APPID,
'app_secret': EBAY_PRODUCTION_CERTID,
'dev_id': EBAY_PRODUCTION_DEVID,
'ruName': EBAY_PRODUCTION_RU_NAME
}
authHeaderData = AppSettings['app_id'] + ':' + AppSettings['app_secret']
encodedAuthHeader = base64.b64encode(authHeaderData.encode())

headers = {
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "Basic ".encode() + encodedAuthHeader
}
body = {
"grant_type": "client_credentials",
"redirect_uri": settings.EBAY_PRODUCTION_RU_NAME,
"scope": "https://api.ebay.com/oauth/api_scope"
}

data = urllib.parse.urlencode(body)

tokenURL = "https://api.ebay.com/identity/v1/oauth2/token"

response = requests.post(tokenURL, headers=headers, data=body)
authDict = response.json()

所以我需要的运行请求是:

r = requests.get("https://api.ebay.com/sell/fulfillment/v1/order?limit=10",
headers={"Authorization": "{}".format(authDict['access_token']),
"Content-Type": "application/json",
"X-EBAY-C-MARKETPLACE-ID": "EBAY_UK",
"Accept": "application/json"
})

最佳答案

根据 this ,我相信您应该使用以下授权 header :

headers['Authorization'] = "Bearer " + USER_ACCESS_TOKEN

其中 USER_ACCESS_TOKEN 是在 this 上生成的大量 token 页。

看起来像这样:

'v^1.1#i^1#p^3#f^0#I^3#r^0#t^ ...
...
...
...
... bfxr8BJtphi2M/oo2xpYo2hiMWxmZt4fVzS7qe2tMXUSAAA='

您使用的Authorization 是针对未链接到特定用户帐户的请求(搜索结果、项目的元数据等)。要针对特定​​用户发出请求(例如订单或库存更新),您必须通过他们的 USER_ACCESS_TOKEN 获得他们的许可。

如果您在获取 USER_ACCESS_TOKEN 方面需要帮助,请告诉我,我会及时更新。

请注意,我已经尝试做您正在做的相同事情大约 6 个小时了,但仍然没有弄清楚,所以我对这个答案没有信心。

希望这对您有所帮助。如果您确实弄清楚了,您应该发布一个答案,以便其他人也可以(即我自己 xD)。

eBay 无疑赢得了 api 文档历史上最差的 api 文档的金牌...

关于python - 在 Python 中获取 eBay 的最终用户 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55048921/

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