当我尝试将我的表单从python flask提交到linkedin时,我得到以下异常:{“error_description”:“客户端未被授权”,“错误”:“unauthorized_client”} 我检查了代码,一切都应该正常工作。
post = {
"grant_type": "authorization_code",
"code": code,
"redirect_uri": os.environ["REDIRECT_URI"],
"client_id": os.environ["API_KEY"],
"client_secret": os.environ["API_SECRET"]
}
access = requests.post("https://www.linkedin.com/uas/oauth2/accessToken", data=post)
return access.text + str(post)
我的所有环境变量似乎都是正确的。 (我已多次检查过)但我仍然遇到同样的错误。我已经在linkedin上注册了应用程序,并严格遵守文档。有谁知道我可能做错了什么?
答案 0 :(得分:1)
问题不在于访问代码,而在于REDIRECT_URI。我之前已经为get请求编码了它,所以它是正确的公式。但是,对于POST请求,该格式不起作用。它需要格式化https://www.example.com/linkedin,而不是https%3A%2F%2Fwww.example.com%2Flinkedin。这是因为请求库将转义参数,如果它已经被转义,它将被双重转义。