如何检索 Facebook 好友列表并将其保存以进行解析?
Posted
技术标签:
【中文标题】如何检索 Facebook 好友列表并将其保存以进行解析?【英文标题】:How to retrieve Facebook friendlist and save it to parse? 【发布时间】:2014-11-02 13:55:02 【问题描述】:我正在制作一个利用用户 Facebook 好友列表的应用程序。我的解析后端上有一个名为 fbFriendsList
的数组类型列。环顾四周,到目前为止,我有这个:
//my permission array
NSArray *permissionsArray = @[ @"user_about_me",@"email", @"user_friends"];
//My fb request for friends after verifying that user is logging in the first time
[FBRequestConnection startForMyFriendsWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error)
if (!error)
NSArray *friendObjects = [result objectForKey:@"data"];
//fbFriendIds is a Mutable array i have declared
fbFriendIds = [NSMutableArray arrayWithCapacity:friendObjects.count];
// Create a list of friends' Facebook IDs
for (NSDictionary *friendObject in friendObjects)
[fbFriendIds addObject:[friendObject objectForKey:@"id"]];
];
通过这样做,我没有收到列表中的任何朋友。所以我尝试了这个:
FBRequest* friendsRequest = [FBRequest requestForMyFriends];
[friendsRequest startWithCompletionHandler: ^(FBRequestConnection *connection,
NSDictionary* result,
NSError *error)
friends = [result objectForKey:@"data"];
NSLog(@"Found: %i friends", friends.count);
for (NSDictionary<FBGraphUser>* friend in friends)
NSLog(@"I have a friend named %@ with id %@", friend.name, friend.id);
];
但我仍然没有得到朋友。稍后在一个函数中,我将数组保存到PFUser
,如下所示
user[@"fbFriendsList"] = friends;
[user saveInBackground];
但这会返回Found: 0
。为什么这些方法不检索朋友列表?我该如何做并将其保存到我的解析后端?
【问题讨论】:
【参考方案1】:自 2014 年 4 月起,您只能获得那些也授权您的应用的用户,请查看更新日志:https://developers.facebook.com/docs/apps/changelog
未授权您的应用的用户不可能知道您是否存储了他们的数据,因此考虑隐私是有道理的。
如今,结交所有朋友的唯一方法是使用invitable_friends 邀请用户加入您的应用程序并使用taggable_friends 标记用户。但在你的情况下,没有办法获得所有这些。
【讨论】:
但我还有另一个应用程序代码。它是几个月前构建的,使用相同的方法仍然可以正常工作。 阅读更新日志。较旧的应用程序(在 2014 年 4 月底之前创建)仍然可以使用 v1.0,它会在 2015 年 4 月之前返回所有朋友。 好吧,你能解释一下这部分吗?“邀请与请求具有相同的行为,并且会将收件人定向到以下位置之一:您在 Facebook Canvas 上的应用。您在 ios 或 android 上的本机应用(如果已安装) . Apple App Store 或 Google Play,如果未安装。”?我可以使用这些东西在 iOS 应用上添加朋友,对吧?即使我没有使用 fb 画布 不,这是您需要为外部网站/应用阅读的内容:developers.facebook.com/docs/apps/faq#invite_to_app 你不想邀请朋友,你想存储朋友。你不能再这样做了。以上是关于如何检索 Facebook 好友列表并将其保存以进行解析?的主要内容,如果未能解决你的问题,请参考以下文章
如何在应用程序获得批准之前测试 Facebook 集成(检索用户的好友列表)?