2

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

但是,在我运行 ruby​​ 脚本之后

ruby calendar.rb

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

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

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

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

有什么问题以及如何解决?提前致谢。

4

3 回答 3

5

重定向 URI 必须完全匹配。你不能省略任何东西。您已删除端口号。但是不匹配尾部斜杠或其他任何内容都会导致此错误。它必须是精确的、字符对字符的匹配。

这两个值应该是:

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

JavaScript 起源:https://localhost:4567

于 2012-02-15T15:13:22.483 回答
1

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

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

我昨晚有这个例子工作。

于 2012-04-09T15:26:15.363 回答
0

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

于 2014-03-13T03:20:39.077 回答