我正在按照这里的步骤。我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 的一种方式,并且我收到错误消息。