关于ruby:访问Google API时出现OAuth 2.0示例错误

OAuth 2.0 sample error when accessing Google API

使用开源项目google-api-ruby-client,我正在尝试运行OAuth 2.0示例calendar.rb,它将访问Google Calendar API。
我已经在Google API控制台中创建了客户端ID,并在ruby脚本中填写了客户端ID和密码。

但是,在我运行ruby脚本后

1
ruby calendar.rb

,然后打开http:// localhost:4567,浏览器从Google向我返回错误信息:

1
2
Error: redirect_uri_mismatch
The redirect URI in the request: http://localhost:4567/oauth2callback did not match a     registered redirect URI

我检查了Google API控制台中的信息:

1
2
Redirect URIs:  https://localhost/oauth2callback
JavaScript origins: https://localhost

有什么问题以及如何解决?预先感谢。


重定向URI必须完全匹配。你什么都不能省略。您已删除端口号。但是,如果不匹配斜杠或其他字符,将导致此错误。它必须是精确的字符对字符匹配。

这两个值应该是:

重定向URI:https://localhost:4567/oauth2callback

JavaScript起源:https://localhost:4567


我没有端口号,并且工作正常。

但是,重定向URI是:http:// localhost / oauth2callback

我有这个例子是昨晚工作的。


我遇到了同样的问题。一切都匹配,URL正确,同意页面已满,但我必须生成三次新的Client ID。它仅在第三次开始工作。我不知道原因。我没有更改配置或代码中的任何内容,它只是开始使用第三个客户端ID和客户端密钥。