使用开源项目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
问题是什么以及如何解决?提前谢谢。
答案 0 :(得分:5)
重定向URI必须完全匹配。你不能省略任何东西。你丢弃了端口号。但不匹配尾部斜杠或其他任何东西都会导致此错误。它必须是一个精确的角色匹配。
这两个值应为:
重定向URI:https://localhost:4567/oauth2callback
JavaScript起源:https://localhost:4567
答案 1 :(得分:1)
答案 2 :(得分:0)
我遇到了同样的问题。一切都匹配,URL正确,同意页面已填写,但我必须生成三次新的客户端ID。它刚开始第三次工作。我不知道原因。我没有更改配置或代码中的任何内容,它只是开始使用第三个客户端ID和客户端密钥。