в настоящее время я использую eBay Trading API с Python. Спасибо: https://github.com/timotheus/ebaysdk-python
Я использовал https://github.com/luke-dixon/django-ebay-accounts для получения токенов для пользователя.
Теперь я хотел бы использовать Restful API (https://developer.ebay.com/docs#Acc< /а>). Я не думаю, что смогу использовать токены, которые у меня уже есть. Итак, благодаря получению токена Ebay OAuth мне удалось его получить. Но я думаю, что что-то упустил, потому что во время процесса я не могу включить информацию для пользователя (имя/пароль), поэтому, например, 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."
}]
}
Любая идея, как я могу получить токен для пользователя?
Просто фрагмент кода, чтобы было понятнее:
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"
})