4

基本的に私がやりたいことは:

  • 現在のユーザーのFacebookの友達を取得する
  • このコレクションの各アイテムに「登録済み」属性セットを追加trueすることで、アプリにすでに登録されているユーザーを他のユーザーと区別しながら、このコレクションをレンダリングしますfalse

私はなんとか現在のユーザーのFacebookの友達を取得し、そのように私のアプリに提供することができました

UserController

  def facebook_friends
    @friends = graph.get_connections("me", "friends")
  end

RABL

object false
node :data do @friends
end

次のようなものが返されます。

{
  data: [{
    'id': '23456789'
    'name': 'Bobby Brown'
  }, {
    'id': '23456788'
    'name': 'Bobby Black'
  }]
}

しかし、私が欲しいのはこのようなものです:

{
  data: [{
    'id': '23456789'
    'name': 'Bobby Brown',
    'registered': true
  }, {
    'id': '23456788'
    'name': 'Bobby Black',
    'registered': false
  }]
}

しかし、私はあまり多くのリソースを無駄にせずに2番目の部分を実行する方法がわかりません。

4

2 に答える 2

5

そのための単純なGraphAPIクエリがあります。

me/friends?fields=id,name,installed

https://developers.facebook.com/tools/explorer/

JSONを返します。アプリをインストールしたユーザーはinstalled: true

@graph.get_connections('me','friends',:fields=>"id,name,installed")
于 2013-03-27T00:20:44.827 に答える
0

私はあなたがあなたのアプリに登録されていることを意味すると思います

userテーブルには次のような登録済みフィールドがあるため、代わりにFQLを使用して必要な応答を作成できます。is_app_user

SELECT uid, name, is_app_user FROM user where uid in (SELECT uid2 FROM friend WHERE uid1 = me())

これは次のようなものを返す必要があります

{
  data: [{
    'id': '23456789'
    'name': 'Bobby Brown',
    'is_app_user': true
  }, {
    'id': '23456788'
    'name': 'Bobby Black',
    'is_app_user': false
  }]
}

Facebookで検証されたユーザーを意味する場合、それは認証されたユーザーでのみ機能すると思います。

フィールドはverified

于 2013-03-26T13:24:47.323 に答える