谷歌日历api,重定向uri不匹配

时间:2015-11-18 06:34:55

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4 google-calendar-api

我试图将google calendar api整合到我的ruby应用程序中,在谷歌开发者控制台中我给了我的重定向uri

http://localhost:3000

http://localhost:3000/auth/google_oauth2/callback

400. That’s an error.

错误:redirect_uri_mismatch

redirect_uri=http://localhost:9292/

即使我提到3000

,它也会继续获得9292端口

我已经关注了这些链接  ruby quickstart from google

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,不幸的是我在这个愚蠢的问题上浪费了4个小时,因为我发现你正在使用gem "omniauth-google-oauth2"实际上没有定义范围,你需要添加范围,否则它会继续误导你。我在下面使用了intializer中的键

Provider :google_oauth2, 'customer_key', 'my_sec' , {:scope => 'email,profile' }

并更新您的gem file,如下所示

gem 'omniauth-oauth2', '~> 1.3.1'

gem "omniauth-google-oauth2"

<强>更新

origin Url -> http://localhost:3000

callback Url-> http://localhost:3000/auth/google_oauth2/callback

routes.rb -> get "auth/:provider/callback", to: 'registration#create_session'

答案 1 :(得分:0)

只是@ ImranNaqvi的答案的补充;当我在更改omniauth-oauth2的版本后运行'bundle install'时,终端抱怨我的omniauth-oauth2被锁定在版本1.4.0。如果发生这种情况,您将需要进入gem.lock文件(而不是gem列表)并将omniauth-oauth2版本更改为1.3.1。然后'捆绑安装'。