1
我試圖使用this guide來獲取訪問令牌。使用python請求獲取易趣訪問令牌(交換身份驗證令牌)
這裏是我的主文件:
import requests
from utils import make_basic_auth_header, conf
code = '<Auth code here>'
url = "%s/identity/v1/oauth2/token" % conf('EBAY_API_PREFIX')
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': make_basic_auth_header()
}
data = {
'grant_type': 'authorization_code',
# 'grant_type': 'refresh_token',
'state': None,
'code': code,
'redirect_uri': conf('EBAY_RUNAME')
}
r = requests.post(
url,
data=data,
headers=headers,
)
這裏的make_basic_auth_header()
功能:
def make_basic_auth_header():
auth_header_payload = '%s:%s' % (conf('EBAY_APP_ID'), conf('EBAY_CERT_ID'))
auth_header_base64 = base64.b64encode(auth_header_payload)
auth_header = 'Basic %s' % auth_header_base64
return auth_header
但所有我在r.json()
得到的是:
{u'error_description': u'request is missing a required parameter or malformed.', u'error': u'invalid_request'}
我很沮喪 - 什麼我做錯了嗎?
此外:我的文件有python2字符串 - 不是unicode。我也嘗試切換到Unicode - 它沒有幫助 –
你有沒有試過將數據字典作爲JSON格式的字符串傳遞?例如。在'import json''data = json.dumps(data)'之後 – etemple1