【问题标题】:OAuth 2.0 sample error when accessing Google API访问 Google API 时出现 OAuth 2.0 示例错误
【发布时间】:2012-03-06 14:32:16
【问题描述】:

使用开源项目google-api-ruby-client,我正在尝试运行 OAuth 2.0 示例 calendar.rb,它将访问 Google 日历 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

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

【问题讨论】:

  • 还要在重定向和Javascript URI中提供端口号

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


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    我昨晚有这个例子工作。

    【讨论】:

    • 端口是必需的。 Google 文档:“注册允许您的应用访问 Google API 的来源。来源是协议、主机名和端口的唯一组合。您可以输入多个来源以允许您的应用在不同的协议、域或子域。不允许使用通配符。"
    【解决方案3】:

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

    这两个值应该是:

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

    JavaScript 来源:https://localhost:4567

    【讨论】:

    • 我刚开始使用日历 API,并且正在使用 CLI 创建 google-api.yaml 文件,如此处所述developers.google.com/google-apps/calendar/instantiate 但在运行此命令时我遇到了同样的错误。它会自动打开浏览器并显示错误“400。这是一个错误。错误:redirect_uri_mismatch 请求中的重定向 URI:localhost:12736 与注册的重定向 URI 不匹配”。我是否必须明确地将重定向 URI 放在某处?任何帮助将不胜感激。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-08
    • 2015-11-11
    • 1970-01-01
    • 1970-01-01
    • 2015-09-04
    • 1970-01-01
    • 2014-01-31
    相关资源
    最近更新 更多