我需要使用下一个字段获取用户的朋友数据:id,name, 性别,生日,城市,国家,profileUrl,pic,pic_small, pic_big,is_app_user。
在我使用FB.Data.query之前,现在它已被弃用。
FB.Data.query('select uid, first_name, last_name, name, pic,
pic_small, pic_big, birthday_date, sex, current_location,
profile_url, is_app_user from user where uid in (select uid2 from
friend where uid1 = {0}', uid).
如何获取正在使用应用的朋友?
我可以得到我需要的所有字段,但是例如对于图片我需要做额外的请求。我可以在单个请求中获得所有需要的字段吗?
答案 0 :(得分:3)
var query = 'SELECT uid, first_name, last_name, name, pic, pic_small, pic_big, birthday_date, sex, current_location, profile_url, is_app_user FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = ' + uid;
FB.api('/fql',{q:query}, function(response){
console.log(response.data);
});
您肯定也可以使用Graph API获取几乎相同的数据,而不是使用FQL:
FB.api('/'+uid+'/friends', {
fields: 'id,first_name,last_name,name,birthday,gender,location,link,installed'
}, function(response){
console.log(response.data);
});
您对这些详细信息有一些不同的名称和其他格式(前location
),并且错过了结果中的图片详细信息,但这很简单,user
图片在网址{{1}上可用}}
使用?type = square |小|正常|很大,要求不同的照片
答案 1 :(得分:0)
我也一直在使用PHP来解决这个问题。这就是我想出的:
$user_friends = $facebook->api('/me/friends?fields=installed');
$user_players = array();
foreach ($user_friends['data'] as $userfriend)
{
if (array_key_exists('installed', $userfriend))
{
array_push($user_players, $userfriend);
}
}
答案 2 :(得分:0)
The Following Helps you to fetch user's friend details using graph api
NSString friendId =10020020 //Store Friend ID;
NSString * pRequestString = [NSString stringWithFormat:@"%@?fields=name,picture,work,hometown,birthday,devices,interests",friendId];
[[FBRequest requestForGraphPath:pRequestString ] startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
NSLog(@"%@",result);
}];