Invalid_grant 尝试获取访问令牌 googleapi 时出错
Invalid_grant error on trying to get access token googleapi
我正在按照步骤 here 进行操作。我在浏览器中得到了 authorization code
,但得到的是:
** Access error: protocol error: "Server error: HTTP/1.0 400 Bad Request"
当我生成尝试获取令牌的请求时。我将目标更改为 http,以便我可以在 wireshark 中跟踪 http 请求,并添加了换行:
POST /oauth2/v3/token HTTP/1.0
Accept: */*
Accept-Charset: utf-8
Host: www.googleapis.com
User-Agent: REBOL
Content-Type: application/x-www-form-urlencoded
Content-Length: 251
code=url-encoded-my-authorisation-code&
client_id=my-client-id.apps.googleusercontent.com&
client_secret=my-client-secret&
redirect_uri=urn-blah-blah&
grant_type=authorization_code
我觉得不错。
当我改用 http 时,我收到这条消息
{"error":"internal_failure","error_description":"SSL is required to perform this operation."}
但不幸的是,它没有告诉我我的请求是否已关闭以帮助我处理 ssl 请求。
PS:我又进步了。我从 redirect_uri 中删除了 URL 编码,现在出现 invalid_grant 错误。在此之前,它抱怨缺少 redirect_uri.
的方案
有一次我成功获得了访问令牌,但我无法重现这一点。我看到我的应用程序列在我已授予访问令牌的应用程序中。我删除了我的应用程序并尝试再次授权,但一直失败。
我的时钟是正确的,所以这不是问题所在。 oauth2 游乐场工作正常,据我所知我也在做同样的事情但没有成功。
我的是一个已安装的应用程序,因此我无法向 playground 提供我的凭据作为信任他们的方式 redirect_uri 未提供并且我收到错误消息。
refresh_tokens 似乎有一个限制,虽然从有权访问我的日历的人那里删除应用程序没有用,但从 https://console.developers.google.com/ 中删除我的项目并重新创建它们有效。然后我的代码 运行 成功,没有任何更改。
尝试更改 url 以从 Google 使用 https://www.googleapis.com/oauth2/v3/tokeninfo?access_token={accessToken}
获取有关令牌的信息
注意版本 api
我正在按照步骤 here 进行操作。我在浏览器中得到了 authorization code
,但得到的是:
** Access error: protocol error: "Server error: HTTP/1.0 400 Bad Request"
当我生成尝试获取令牌的请求时。我将目标更改为 http,以便我可以在 wireshark 中跟踪 http 请求,并添加了换行:
POST /oauth2/v3/token HTTP/1.0
Accept: */*
Accept-Charset: utf-8
Host: www.googleapis.com
User-Agent: REBOL
Content-Type: application/x-www-form-urlencoded
Content-Length: 251
code=url-encoded-my-authorisation-code&
client_id=my-client-id.apps.googleusercontent.com&
client_secret=my-client-secret&
redirect_uri=urn-blah-blah&
grant_type=authorization_code
我觉得不错。
当我改用 http 时,我收到这条消息
{"error":"internal_failure","error_description":"SSL is required to perform this operation."}
但不幸的是,它没有告诉我我的请求是否已关闭以帮助我处理 ssl 请求。
PS:我又进步了。我从 redirect_uri 中删除了 URL 编码,现在出现 invalid_grant 错误。在此之前,它抱怨缺少 redirect_uri.
的方案有一次我成功获得了访问令牌,但我无法重现这一点。我看到我的应用程序列在我已授予访问令牌的应用程序中。我删除了我的应用程序并尝试再次授权,但一直失败。
我的时钟是正确的,所以这不是问题所在。 oauth2 游乐场工作正常,据我所知我也在做同样的事情但没有成功。
我的是一个已安装的应用程序,因此我无法向 playground 提供我的凭据作为信任他们的方式 redirect_uri 未提供并且我收到错误消息。
refresh_tokens 似乎有一个限制,虽然从有权访问我的日历的人那里删除应用程序没有用,但从 https://console.developers.google.com/ 中删除我的项目并重新创建它们有效。然后我的代码 运行 成功,没有任何更改。
尝试更改 url 以从 Google 使用 https://www.googleapis.com/oauth2/v3/tokeninfo?access_token={accessToken}
获取有关令牌的信息注意版本 api