【问题标题】:Getting Google contacts from access token in ROR从 ROR 中的访问令牌获取 Google 联系人
【发布时间】:2016-07-16 07:48:25
【问题描述】:

我有一个带有谷歌登录的 Rails 应用程序。我正在使用“omniauth-google-oauth2”gem。在用户授权后,我以 OmniAuth::AuthHash 的形式获取凭据。

我打算使用“google_contacts_api”来获取用户的联系人,这需要我有一个 OAuth2::AccessToken 来获取联系人。为了创建相同的内容,我需要 OAuth2::Client 来创建 AccessToken。我想知道

  1. 如何使用 OmniAuth 策略和第二个创建客户端
  2. 有没有更好的方法来创建 OAuth2::AccessToken?

【问题讨论】:

    标签: ruby-on-rails oauth omniauth google-contacts-api google-oauth


    【解决方案1】:

    1.如何使用 OmniAuth 策略创建客户端?

    基于此documentation,您首先需要一个 API 端点,该端点将返回资源所有者的凭据,以便为您的提供者创建策略。您需要定义类并包含正确的模块。如果您在 OmniAuth::Strategies 中定义您的类,命名空间将允许在 OmniAuth::Builder 调用中使用符号名称而不是类来声明它。

    require 'omniauth'
    
    module OmniAuth
      module Strategies
        class Developer
          include OmniAuth::Strategy
        end
      end
    end
    

    检查此tutorial 和相关SO question

    2。有没有更好的方法来创建 OAuth2::AccessToken?

    要使用Oauth2,您必须在Google API Console 中注册您的项目并启用Contacts API 服务。每次进行 API 调用时,您都需要获取一个“刷新令牌”,用于向谷歌“重新验证”。您可以查看步骤here

    希望这会有所帮助! :)

    【讨论】:

      猜你喜欢
      • 2015-01-08
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-14
      • 1970-01-01
      • 2015-02-11
      相关资源
      最近更新 更多