根据身份验证代码流,我正在尝试从Google获取访问令牌。
由于它无法在我的后端正常工作,因此我尝试对其进行卷曲/邮递员处理,但这也不起作用。
curl -d "&code=4/IkYUPa4FNw_-o6bd4v5dLqVx4ssGfyPJRBQFzy9aNQ&client_id=807080008535-9ji0g54v0lt9b6ukn19rp807k3j2t0uj.apps.googleusercontent.com&client_secret=SOMESECRET&redirect_uri=com.fitisfit.app:/googlefit&grant_type=authorization_code" https://www.googleapis.com/oauth2/v4/token
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
{
"error": "invalid_grant",
"error_description": "Bad Request"
}
Run Code Online (Sandbox Code Playgroud)
如果我连续(3或4)次卷曲,则会收到一条错误消息,提示代码已被兑换。因此,Google网站上可能发生了某些情况。
我做了一些研究,但所有建议都没有帮助(拼写,检查服务器时间,添加access_type=offline到第一个OAuth步骤网址等)
更新:我刚刚发现了问题。我必须设置curl参数,例如:
curl \
-d code=4/LjNMkGqqQvJAB96Z6F-U52u4kqo5RHkqLp0LJYZ-zAw \
-d client_id=807080008535-9ji0g54v0lt9b6ukn19rp807k3j2t0uj.apps.googleusercontent.com \
-d client_secret=SOMESECRET \
-d redirect_uri=http://localhost \
-d grant_type=authorization_code https://www.googleapis.com/oauth2/v4/token
Run Code Online (Sandbox Code Playgroud)