4

基本上我想做的是:

  • 获取当前用户的 Facebook 好友
  • true呈现此集合,同时通过向此集合的false每个项目添加设置的“已注册”属性来区分已在我的应用中注册的用户与其他用户

我设法检索了当前用户的 Facebook 朋友并将其提供给我的应用程序,就像这样

用户控制器

  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
  }]
}

但我不知道如何在不浪费太多资源的情况下完成第二部分。

4

2 回答 2

5

有一个简单的 Graph API 查询。

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

我假设您的意思是在您的应用中注册

您可以使用 FQL 来构建您需要的响应,因为该user表有一个名为的注册字段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 回答