想要获取具有搜索好友功能的Facebook好友列表


Want to get list of Facebook friends with search friend functionality

我使用以下代码从Facebook获取了朋友列表:

$session = $facebook->getSession();
if ($session) {
    $uid = $facebook->getUser();
    $friends = $facebook->api('/me/friends');
}
foreach ($friends as $key=>$value) {
    echo count($value) . ' Friends';
    echo '<hr />';
    echo '<ul id="friends">';
    foreach ($value as $fkey=>$fvalue) {
        echo '<li><img src="https://graph.facebook.com/' . $fvalue->id . '/picture" title="' . $fvalue->name . '"/></li>';
    }
    echo '</ul>';
}

有一个查询,我使用此 API 从 facebook 获取了朋友列表,但我有一个输入框,我在其中输入了 john 然后这个朋友列表应该包含名称为"jhon"的朋友列表。如何在现有代码中实现此功能?

谢谢

我所做的是将朋友姓名和user_ids存储在一个表中,并在全新登录时更新表。因此,从那里我们可以创建一个通过 ajax 命中的自动完成端点。

SELECT * FROM `user_contacts`
WHERE `name` LIKE "%{$name}%" AND `user_id` = "{$user_id}"
LIMIT 5

我们获取此查询的结果并json_encode它,我们可以将这些数据直接传递到 jquery ui 自动完成中。

http://jqueryui.com/demos/autocomplete/

似乎效果很好,但是user_contacts桌子可以相对快速地填满,具体取决于您拥有多少Facebook用户。我不是100%使用Facebook的条款和条件来存储这些数据,所以值得研究。

获取函数in_array,您可以传递数组和您搜索的字符串。

这是一个项目,它做了一些我认为你所追求的事情:http://www.devthought.com/2008/01/12/textboxlist-meets-autocompletion/

如果我没记错的话,这在Mootools和jQuery版本中都可用。