2011-08-08 100 views
1

我可以使用以下https://graph.facebook.com/user_id来获取用户数据(如namegender等)。在批量请求中获取Facebook用户信息?

有没有办法可以做类似 https://graph.facebook.com/user1_id, user2_id, user3_id, ...? 所以我会在一个请求中获取所有数据?

+0

https://graph.facebook.com/user1_id,user2_id,user3_id,....这是否的登录用户的朋友或者是其他东西? –

+0

@cloudlight'user1_id,user2_id,...'他们是我的应用程序用户的朋友。我只需要他们的名字 –

回答

5

是的,我试过下面一行,它正在工作。

https://graph.facebook.com/?ids=19292868552,bharatpatil007,220439

而且这是工作。它的结果是在这个环节你有什么用user1_id,user2_id期待如下

{ 
    "19292868552": { 
     "id": "19292868552", 
     "name": "Facebook Platform", 
     "picture": "http://profile.cc.fbcdn.net/hprofile-cc-ash2/211033_19292868552_7506301_s.jpg", 
     "link": "http://www.facebook.com/platform", 
     "likes": 2479998, 
     "category": "Product/service", 
     "website": "http://developers.facebook.com", 
     "username": "platform", 
     "founded": "May 2007", 
     "company_overview": "Facebook Platform enables anyone to build social apps on Facebook and the web.", 
     "mission": "To make the web more open and social." 
    }, 
    "220439": { 
     "id": "220439", 
     "name": "Bret Taylor", 
     "first_name": "Bret", 
     "last_name": "Taylor", 
     "link": "http://www.facebook.com/btaylor", 
     "username": "btaylor", 
     "gender": "male", 
     "locale": "en_US" 
    }, 
    "bharatpatil007": { 
     "id": "793619474", 
     "name": "Bharat Patil", 
     "first_name": "Bharat", 
     "last_name": "Patil", 
     "link": "http://www.facebook.com/bharatpatil007", 
     "username": "bharatpatil007", 
     "gender": "male", 
     "locale": "en_US" 
    } 
} 
+0

谢谢:)你这么多.. –

+0

非常欢迎您。 –

1

假设您的评论
首先,你需要获得许可使用以下行[编辑]

$loginUrl = $facebook->getLoginUrl(
array(
'redirect_uri' =>'http://apps.facebook.com/yourappname/' 
,'scope' => 'friends_about_me') 
); 

行之后会给你的应用程序用户的好友访问朋友的信息。

$friends = $facebook->api('/me/friends?access_token='.$accessToken.'&fields=id'); 

凝结这些ID添加到一个逗号分隔的字符串

$friends_ids; 
foreach ($friends['data'] AS $friendsInfo) 
{ 
    $friends_ids .= $friendsInfo['id'] .','; 
} 

删除最后一个逗号

$friends_ids = substr($friends_ids, 0, -1); 

现在查询朋友的姓名和性别(以下行是你需要什么)

$friends_info = $facebook->api('/?access_token='.$accessToken.'&fields=name,gender&ids='.$friends_ids); 
+0

新版本的API可能会发生变化。 –

+0

非常感谢您的回答。但我认为你误解了我的评论,我说'他们是我应用用户的朋友'。“所以是'user1_id,... userN_id'是我的应用用户的朋友。但是当前用户'A'可以看到'user1_id,...,userN_id'的名字,而不是与它们的朋友。 'user1_id,... userN_id'可以是正在使用我的应用的用户'B'的朋友。对不起,误解:(......你知道我是否可以这样做:'https://graph.facebook.com/ids=[user1_id,user2_d]'?? –