0

Facebookからユーザーにログインするためにomniauthを使用しています。また、devise.rb初期化ファイルでdevise gemも使用しています。追加した

config.omniauth :facebook, app_id, app_secret,
    {:scope => 'email, offline_access', :client_options => 
      {:ssl =>
          {:ca_file => '/usr/lib/ssl/certs/ca-certificates.crt'}
      }
    }

アプリにユーザーが「サインイン」しているため、完全に機能していますが、問題は、ユーザープロファイル情報とその友達情報、およびサブスクリプションとステータスの更新を取得する方法がわからないことです。

利用可能なグラフ Api メソッドがあります

@graph = Koala::Facebook::API.new(acess_token)
    @profile = @graph.get_object("me")
    @friends = @graph.get_connections("me", "friends")

しかし、 「acess_token」を取得してこれらすべてを実行する方法がわかりません。

要約すると、AccessTokenが必要です 親切に明確な答えを提供してくださいplzz

あなたの応答を待っています

4

1 に答える 1

0

yahoooはそれを手に入れました:)

次のメソッドでは、$ access_token=auth.credentials.tokenステートメントがアクセストークンを取得するように指定されています。

def self.find_for_provider_oauth(auth, signed_in_resource=nil)
    user = User.where(:provider => auth.provider, :uid => auth.uid).first
    $access_token = auth.credentials.token
    unless user

      user = User.create(name:auth.extra.raw_info.name,
        provider:auth.provider,
        uid:auth.uid,
        email:auth.info.email,
        password:Devise.friendly_token[0,20]
      )
    end
    user
  end

またはあなたはこれによってそれを得ることができます

request.env["omniauth.auth"].credentials.token

access_token plzz共有を取得する他の最良の方法はありますか?最適化とグッドプラクティスが必要ですが、今のところは機能しています。

于 2013-02-04T07:21:15.677 に答える