0

如何在我们的 Facebook 好友列表中按名称搜索我们的好友?

在我的程序中,我在一个框中列出了所有使用 api 的朋友。在那个框中,有一个字段——搜索我们的朋友。我想使用 Graph api 搜索我的朋友。但我不知道该怎么做。

4

1 回答 1

2

FB 没有提供任何 api 来搜索特定用户的朋友,但是很容易自己做。我建议您使用facebook-php-sdk

1.

require 'facebook-php-sdk/src/facebook.php';

$facebook = new Facebook(array(
  'appId'  => 'YOUR_APP_ID',
  'secret' => 'YOUR_APP_SECRET',
));

$user = $facebook->getUser();
if ($user) {
    $friends = $facebook->api('/me/friends');
    // DO SOMETHING ELSE
}

从现在开始,$friends是用户的好友列表。它等于https://graph.facebook.com/me/friends?access_token=USER_TOKEN手动访问。

2.假设$target是您搜索字段中的字符串

foreach ($friends["data"] as $value) {
    if (strpos($value["name"], $target) !== false) {
        // DO SOMETHING YOU WANT TO
    }
}     

顺便说一句,在客户端使用javascript搜索朋友可能比使用php更有效和动态。就个人而言,我会在前端做。假设您使用的是 jQuery,并且target是来自您的搜索字段的字符串。

var url = 'https://graph.facebook.com/me/friends?access_token=USER_TOKEN'
$.getJSON(url, function(data) {
    friends = data['data'];

    for(i in friends){ 
        if (friends[i]['name'].search(target) != -1){
            // DO SOMETHING YOU WANT TO
        }
    }
});
于 2013-01-02T08:44:52.173 回答