1

我正在尝试在 iOS 应用程序中实现一个搜索栏,该搜索栏搜索用户的朋友并显示结果。我不想让所有用户都使用https://graph.facebook.com/me/friends然后搜索结果。是否可以向此类呼叫添加查询(例如https://graph.facebook.com/me/friends?q=TIM)?使用图 API 的搜索功能似乎只能公开搜索。

4

2 回答 2

1

您可以使用 FQL:

SELECT uid, username, first_name, last_name FROM user WHERE uid IN
  (SELECT uid2 FROM friend WHERE uid1 = me()) AND first_name = 'tim'

虽然不可能进行显式通配符搜索,但也不支持 LIKE 运算符。但是您可以使用该strpos功能来伪造它。

于 2012-06-11T07:59:37.877 回答
1

正如您在 Graph API Explorer 中看到的,您无法通过 Graph API 搜索好友列表, https://developers.facebook.com/tools/explorer?method=GET&path=me /friends?q=Philip

您可以简单地获取所有朋友的列表,
然后在for用于打印结果的循环中,您可以搜索用户名/或 ID。

一个简单的例子:

FB.api('/me/friends/', function(response) {
    if (response) {
        for (var i=0, l=response.data.length; i<l; i++) {
            var friend = response.data[i];
            if(friend.name === 'Philip') {
                alert('Philip Found!');
            }
        }
    }
});
于 2012-06-11T06:23:58.463 回答