当前,我正在尝试使用OAuth2-Auth-Code身份验证从授权代码中获取访问令牌。
在request.post实施后,出现以下错误:
“该输入不是有效的Base-64字符串,因为它包含非base 64字符,两个以上的填充字符或填充字符中的非法字符。”
我的访问令牌实现代码如下
data = {'grant_type': 'authorization_code', 'client_id': api_key, 'redirect_uri': redirect_uri, 'code': authorization_code, 'client_secret': api_secret}
print("Requesting access token:")
access_token_response = requests.post(token_url, data = data)
print ('response')
print (access_token_response.headers)
print ('body: ' + access_token_response.text)
什么可能导致此错误?
编辑
原始示例请求在下面,还有参数:
示例请求:
POST https://api.tradestation.com/v2/Security/Authorize HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: api.tradestation.com
Content-Length: 630
grant_type=authorization_code&client_id=11111111-1111-1111-1111-111111111111&redirect_uri=test.aspx&client_secret=11111111-1111-1111-1111-111111111111&code=YjlkWDRqVmxlRXphaZzM1NWQ1MzZtVVFJQXFkcmk3eldOSjRUSDJHSklqN1dMNkk=&response_type=token
必需的参数也在下面:
必需的标题:
Content-Type:应用程序/ x-www-form-urlencoded
Content-Length = UTF8中正文信息的长度
必需的表单参数:
grant_type =授权码
client_id =客户端应用程序的API密钥
redirect_uri =获取提供的授权码时使用的重定向uri
code =授权码值
client_secret =客户端应用程序的API密钥的机密