如何链接OmniAuth身份识别(工作)和Google Api呼叫

时间:2017-12-08 18:14:24

标签: ruby google-api omniauth

经过一天的尝试,测试,谷歌搜索...我要求一些帮助 我尝试使用Omniauth和Google日历。 OmniAuth的工作就像一个魅力,但我无法将其与Google API链接

我想我几乎阅读了所有内容,但仍然收到此错误消息:

  

dailyLimitExceededUnreg:超出未经身份验证的使用的每日限制。   继续使用需要注册。

这意味着我的通话没有正确连接'我的认证,似乎是有效的。我的令牌在数据库中但是我这一点我想登录/识别/调用并且还有其他错误消息。

client_id = Google :: Auth :: ClientId.from_file(' ..... googleusercontent.com.json')

scopes =  ['userinfo.email,calendar']

token_store = Google::Auth::MyTokenStore.new()

authorizer = Google::Auth::WebUserAuthorizer.new(
    client_id,
    scopes,
    token_store,
    'http://localhost:3000'
)

# credentials = Google::Auth::UserAuthorizer.new( .  # Anotheir test
#     client_id,
#     scopes,
#     token_store,
#     'http://localhost:3000'
# )
#
# authorizer = credentials.get_credentials_from_code(
#     GoogleUser.find(session[:user_id]) # I tested token ... notking worked
# )

calendar = Google::Apis::CalendarV3::CalendarService.new
calendar.authorization = authorizer
calendar_id = 'primary'

@result = calendar.list_events(calendar_id,
                               max_results: 10,
                               single_events: true,
                               order_by: 'startTime',
                               time_min: Time.now.iso8601)

和我的令牌存储,我不明白为什么但从未打过电话

class MyTokenStore
  class << self
    attr_accessor :default
  end


  def load(_id)
    puts "********** load ************"
    return GoogleUser.find(session[:user_id]).access_token
  end


  def store(_id, _token)
    puts "********** store ************"
    @user.access_token = _token
  end


  def delete(_id)
    puts "********** delete ************"
    @user.access_token = nil
  end
end

端 端

1 个答案:

答案 0 :(得分:0)

对于未来的读者:我在阅读了一篇优秀的文章后采用了不同的技术:http://gmile.me/simple-google-auth/ 我跟着它并使用signet,它就像一个魅力