繁体   English   中英

未定义的局部变量'refresh_token'

[英]undefined local variable 'refresh_token'

我正在尝试在OAuth2中获取访问令牌,以便可以访问Google Calendar API。 我到处看的地方都说我应该传递一个等于refresh_token的'grant_type',但我不断收到错误

“#的未定义局部变量或方法'refresh_token'是您的意思吗?real_csrf_token”

所以我的'refresh_token'这一行还没有被设置。

events_controller.rb

auth = Signet::OAuth2::Client.new(
  access_type: 'offline',
   token_credential_uri: 'https://accounts.google.com/o/oauth2/token',
   client_id:            ENV['GOOGLE_CLIENT_ID'],
   client_secret:        ENV['GOOGLE_SECRET_KEY'],
   grant_type:           refresh_token


 )

 auth.fetch_access_token!

另外,我有一个omniauth初始化程序文件,我认为这是我失去机会抓住访问令牌和刷新令牌的机会。

配置/初始化/ omn​​iauth.rb

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :google_oauth2, ENV['GOOGLE_CLIENT_ID'], ENV['GOOGLE_SECRET_KEY'],


  {
    scope: ['https://www.googleapis.com/auth/calendar', 'https://www.googleapis.com/auth/plus.login'],
    skip_jwt: true
  }


end    

任何帮助表示赞赏!

该文档告诉您传递Grant_type的'refresh_token' 那是一个字符串。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM