【问题标题】:Invalid_grant error on trying to get access token googleapi尝试获取访问令牌 googleapi 时出现 Invalid_grant 错误
【发布时间】:2015-12-08 20:09:42
【问题描述】:

我正在遵循here 的步骤。我在浏览器中有authorization code,但得到一个:

** 访问错误:协议错误:“服务器错误: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 游乐场工作正常,据我所知,我也在做同样的事情,但没有成功。

我的是一个已安装的应用程序,因此我无法将我的凭据提供给操场,以此作为信任未提供其 redirect_uri 的一种方式,我收到错误消息。

【问题讨论】:

    标签: google-api rebol google-identity


    【解决方案1】:

    似乎对 refresh_tokens 有限制,尽管从有权访问我的日历的人那里删除该应用程序不起作用,但从 https://console.developers.google.com/ 中删除我的项目并重新创建它们是可行的。然后我的代码在没有任何更改的情况下成功运行。

    【讨论】:

      【解决方案2】:

      尝试更改网址以从 Google 获取有关令牌的信息,使用 https://www.googleapis.com/oauth2/v3/tokeninfo?access_token={accessToken}

      小心vith版本api

      【讨论】:

        猜你喜欢
        • 2021-09-11
        • 2021-11-07
        • 1970-01-01
        • 2015-09-04
        • 1970-01-01
        • 1970-01-01
        • 2012-06-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多