ios - 如何检索 Facebook 好友列表并保存以供解析?

标签 ios facebook facebook-graph-api parse-platform

我正在制作一个利用用户 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"]];
                            }

                        }
                    }];

这样做后,我没有收到列表中的任何 friend 。所以我尝试了这个:

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);
                    }
                }];

但我还是没有得到 friend 。稍后在函数中,我将数组保存到 PFUser 像这样

user[@"fbFriendsList"] = friends;


 [user saveInBackground];

但这会返回Found:0。为什么这些方法不能检索好友列表?我怎样才能做到这一点并将其保存到我的解析后端?

最佳答案

自 2014 年 4 月起,您只能获得那些也授权您的应用程序的用户,请查看变更日志:https://developers.facebook.com/docs/apps/changelog

未授权您的应用程序的用户不可能知道您是否存储了他们的数据,因此如果您考虑隐私,这是有道理的。

现在获得所有 friend 的唯一方法是使用 invitable_friends用于邀请用户使用您的应用程序和 taggable_friends用于标记用户。但就您而言,没有办法获得所有这些。

关于ios - 如何检索 Facebook 好友列表并保存以供解析?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26700052/

相关文章:

ios - 我的 Sprite Kit 游戏第一次播放音频变慢?

html - Facebook 如何阻止您将网站放入 iFrame?

ios - 在 iPhone 上登录 Facebook。使用 Rails 后端进行身份验证 (Devise+Omniauth)

Facebook 图形 API 搜索 https ://graph. facebook.com/search?q=query&type=user 有两个关键字

Facebook JavaScript SDK : Publish actions with custom Open Graph objects

ios - 如何在不从应用程序内进入设置的情况下打开位置

ios - 在 ios 中从此处 map 清除多条路线

android - facebook 批处理请求返回空对象

facebook-graph-api - Facebook 图 : do you need a token now?

ios - XCode 5.1 Assets 目录大小