ios – 如何检索Facebook好友列表并将其保存到解析?

我正在制作一个利用用户的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.为什么这些方法没有检索朋友列表?我该怎么做并将其保存到我的解析后端?

解决方法

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

未授权您的应用程序的用户无法知道您是否存储了他们的数据,因此如果您考虑隐私是有意义的.

现在获得所有朋友的唯一方法是使用invitable_friends邀请用户访问您的应用,使用taggable_friends来标记用户.但在你的情况下,没有办法得到所有这些.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...