我正在尝试在iOS应用中实施搜索栏,搜索用户的朋友并显示结果。我不想让所有用户使用https://graph.facebook.com/me/friends,然后搜索结果。是否可以向此类通话添加查询(例如https://graph.facebook.com/me/friends?q=TIM)?使用图API的搜索功能似乎只能公开搜索。
答案 0 :(得分:1)
正如您在Graph API资源管理器中看到的那样,您无法通过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!');
}
}
}
});
答案 1 :(得分: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
函数伪造它。