是否可以实施以下内容?我想创建一个iOS应用程序,允许用户在他们的Facebook列表中查看已经拥有此应用程序的所有Facebook好友。可以通过Facebook Connect或Graph API或其他方式实现吗?
答案 0 :(得分:4)
是的,这是可能的。
答案 1 :(得分:4)
如果您已关注Facebook教程 iOS Tutorial 。
您应该可以访问AppDelegate.m
文件中的“facebook”对象。该“facebook”对象已经在您的特定应用程序ID中注册。
然后,您可以使用它来查询已安装该应用程序的当前用户的朋友。
以下是检索朋友数据的Facebook查询:
NSString *fql = [NSString stringWithFormat:@"Select name, uid, pic_small from user where is_app_user = 1 and uid in (select uid2 from friend where uid1 = %@) order by concat(first_name,last_name) asc", _replace_this_with_the_fb_id_of_the_current_user_ ];
答案 2 :(得分:0)
是的,您可以使用GraphAPI使用新的Facebook SDK 3.5及更高版本(2013年6月)。 您可以稍后使用deviceFilteredFriends可变数组...
// The Array for the filtered friends
NSMutableArray *installedFilteredFriends = [[NSMutableArray alloc] init];
// Request the list of friends of the logged in user (me)
[[FBRequest requestForGraphPath:@"me/friends?fields=installed"]
startWithCompletionHandler:
^(FBRequestConnection *connection,
NSDictionary *result,
NSError *error) {
// If we get a result with no errors...
if (!error && result)
{
// here is the result in a dictionary under a key "data"
NSArray *allFriendsResultData = [result objectForKey:@"data"];
if ([allFriendsResultData count] > 0)
{
// Loop through the friends
for (NSDictionary *friendObject in allFriendsResultData) {
// Check if installed data available
if ([friendObject objectForKey:@"installed"]) {
[installedFilteredFriends addObject: [friendObject objectForKey:@"id"]];
break;
}
}
}
}
}];
答案 3 :(得分:0)
使用Facebook登录,然后询问用户的朋友。您将只获得安装了请求应用程序的用户(用于返回所有带有“已安装”标志的朋友)