我正在尝试为我的应用获取好友列表,但这是控制台返回的内容:
{
data = (
);
summary = {
"total_count" = 1221;
};
总数是正确的,但没有显示我的任何 friend ?
我在 facebook 开发者门户上创建了两个测试用户,他们都使用我的应用程序登录,并且他们是我在 facebook 上的 friend ,他们的数据不应该显示吗?
这是我请求权限的代码,每次用户登录时都会调用这个类。
@implementation UploadUser
NSString *userName;
NSString *userId;
NSString *userGender;
//UIImage *userPicture;
NSString *userPicture;
NSMutableURLRequest *urlRequest;
//NSData *imageData;
//NSData *pictureData;
//NSData *tempData;
//Retrieves users name, gender and id
-(void)getUserInfo {
FBSDKGraphRequest *requestUser = [[FBSDKGraphRequest alloc]initWithGraphPath:@"me" parameters:nil];
FBSDKGraphRequestConnection *connection = [[FBSDKGraphRequestConnection alloc] init];
[connection addRequest:requestUser completionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
userName = result[@"name"];
userGender = result[@"gender"];
userId = result[@"id"];
if (connection) {
if (!error) {
[self setUserData];
[self uploadUser];
}
}else if (!connection) {
NSLog(@"Get User %@",error);
}
}];
[connection start];
//Get Friends
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
initWithGraphPath:@"/me/friends"
parameters:nil
HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
id result,
NSError *error) {
if (connection) {
NSLog(@"Friends = %@",result);
}else if (!connection) {
NSLog(@"Get Friends Error");
}
}];
}
//Saves user data to class
-(void)setUserData {
DataManager *dm = [DataManager sharedInstance];
[dm setObject:userName forKey:@"userName"];
[dm setObject:userGender forKey:@"userGender"];
[dm setObject:userId forKey:@"userId"];
NSLog(@"%@",userId);
NSLog(@"%@",userName);
NSLog(@"%@",userGender);
}
//Uploads user data online
-(void)uploadUser {
PFUser *user = [PFUser currentUser];
user[@"name"] = userName;
user[@"id"] = userId;
user[@"gender"] = userGender;
[user saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
if (succeeded) {
NSLog(@"User Data Uploaded :)");
} else {
//Handle Error
NSLog(@"User Upload Error... %@",error);
}
}];
}
为什么我的查询没有返回我的 friend ?是因为我的 friend 没有被授权使用我的应用程序吗?是否未正确询问我的权限?
最佳答案
您还可以使用 Graph API Explorer 来快速检查您的请求是否有效: https://developers.facebook.com/tools/explorer/
如果你想检查你的 friend ,你应该让你的 friend 也使用这个链接并获得 token 。通过这种方式,facebook 系统了解您的好友登录 Graph API 应用程序,您将获得好友列表。
关于ios - 获取 Facebook 好友返回空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31110717/