访问Google API时出现OAuth 2.0示例错误

时间:2012-02-15 08:42:24

标签: ruby oauth google-api oauth-2.0 google-api-client

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

然而,在我运行ruby脚本之后

ruby calendar.rb

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

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

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

3 个答案:

答案 0 :(得分:5)

重定向URI必须完全匹配。你不能省略任何东西。你丢弃了端口号。但不匹配尾部斜杠或其他任何东西都会导致此错误。它必须是一个精确的角色匹配。

这两个值应为:

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

JavaScript起源:https://localhost:4567

答案 1 :(得分:1)

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

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

我昨晚有这个例子。

答案 2 :(得分:0)

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