0

Auth Hashのどこにuser_likesが保存されているか知っている人はいますか?

私はさまざまなコンボを試しました:

auth.extra.raw_info.user_likes
auth.extra.raw_info.likes

権限があります。user_likes配列にアクセスする方法がわかりません。

Omniauth-Facebookの宝石

しばらくして(編集)

または、HTTPartygemを使用して次のようなことを行うこともできます。

  url = "https://graph.facebook.com/#{auth.uid}/likes&access_token=#{auth.credentials.token}"
  @likes = HTTParty.get(url)

しかし、私は本当に、omniauth認証プロセスを通じてそれが可能かどうかを知りたいです...

4

2 に答える 2

1

omn​​iauth-facebook gemは、/me呼び出しを使用してraw_infoハッシュを埋めます。Facebookのドキュメントhttp://developers.facebook.com/docs/reference/api/user/によると、いいねはユーザーオブジェクトに含まれていませんが、 https://graph.facebook.comを呼び出すことでアクセスできる接続です。 / me/likes

于 2012-11-28T21:17:41.490 に答える
1

この応答が遅くても、認​​証ハッシュオブジェクトのさまざまなハッシュ部分の内部にあるものを理解しようとしている人に役立つことを願っています(スキーマリファレンス:https ://github.com/intridea/omniauth/wiki/Auth-Hash-Schema )

(質問に投稿されているように)さまざまな組み合わせを試す代わりに、オブジェクトをyamlとしてブラウザーにレンダリングするだけで済みます。これで、ブラウザ出力のページソースから、認証オブジェクトの一部として返される内容が明確になります。他のオプションは、デバッグブレークを設定し、コールバックコントローラーの認証オブジェクトを検査することです(この場合、ideは非常に役立ちます)。

ルート.rb

 ...
 match '/auth/facebook/callback' => 'authentications#create'
 ...

authentications_controller.rb(またはコールバックを受信するコントローラー)

class AuthenticationsController < ApplicationController
    ...


    def create
        # a simple code to understand the content of the auth object
        render :text => request.env["omniauth.auth"].to_yaml
    end
 end
于 2013-03-06T04:39:45.040 に答える