如何在rails上的ruby中为gmail联系人创建访问令牌

De *_*ter 6 ruby gmail ruby-on-rails google-contacts-api omniauth

我正在使用Omniauth请求用户gmail凭据,因此我可以稍后请求用户朋友/联系人.

现在我正在使用身份验证请求为我生成的访问令牌获取OmniauthCallbacks控制器内的好友列表.像这样的东西

class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController

  def google
    auth = env["omniauth.auth"]
    gmail_contacts
    ....
  end

  ..... 
  protected
  def gmail_contacts
    access_token = env["omniauth.auth"]['extra']['access_token']
    response = access_token.request(:get,  
       "https://www.google.com/m8/feeds/contacts/default/full?max-results=10000")
    .....
  end
end
Run Code Online (Sandbox Code Playgroud)

如何使用我存储在数据库中的凭据来创建新的访问令牌,以便我可以从其他控制器调用google API?

Jon*_*ian 0

一个想法 - 调查params[:oauth_verifier]从 gmail 发送的内容是否适用于后续请求。但也许这只适合那一个请求。