我正在尝试将我们的应用程序连接到Streamlabs的API,以便我们可以发布捐赠警报。为此,我需要为要提醒其频道的用户获取访问令牌。这是正常的OAuth2。我们击中/ authorize端点并取回代码,然后可以使用它从/ token端点(https://dev.streamlabs.com/v1.0/reference#token-1)获取访问令牌。
但是,当我们发送针对令牌的POST请求时,会收到一条错误消息,说明该请求缺少“ grant_type”参数。
我们正在使用普通的请求库。我尝试将请求的格式更改为request.post。我尝试通过将数据包装在urlencode和json.dumps中来更改数据。仍然没有运气。
streamlabs_client_id = config('STREAMLABS_CLIENT_ID')
streamlabs_client_secret = config('STREAMLABS_CLIENT_SECRET')
streamlabs_redirect_uri = config('STREAMLABS_REDIRECT_URI')
grant_type = 'authorization_code'
querydict = {
"grant_type":"authorization_code",
"client_id":streamlabs_client_id,
"client_secret":streamlabs_client_secret,
"redirect_uri":streamlabs_redirect_uri,
"code":code
}
url = "https://streamlabs.com/api/v1.0/token"
streamlabs_response = requests.request("POST", url, data=querydict)
这是我每次回来的json:
{“错误”:“ invalid_request”,“错误说明”:“该请求缺少必需的参数,包含无效的参数值,包含一个以上的参数,或者格式错误。请检查\“ grant_type \”参数。”}
有什么想法我对数据做错了吗?