iOS 无法在 Facebook SDK 4 上获取好友列表
Unable to get friends list on Facebook SDK 4 for iOS
我正在尝试使用 Facebook SDK 获取好友列表,但没有成功。
这是我使用的代码:
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
initWithGraphPath:@"me/friends"
parameters:@{@"fields": @"fields=id, first_name, last_name, birthday, gender, picture, devices"}
HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
id result,
NSError *error) {
if (error == nil) {
NSArray* friends = [result objectForKey:@"data"];
} else {
NSLog(@"Error: %@ %@", error, [error userInfo]);
}
}];
这是我得到的错误:
2016-05-08 00:07:12.610 App2Gift[48103:676830] Failed getting friend list
2016-05-08 00:07:12.610 App2Gift[48103:676830] Error: Error Domain=com.facebook.sdk.core Code=8 "(null)" UserInfo={com.facebook.sdk:FBSDKGraphRequestErrorGraphErrorCode=100, com.facebook.sdk:FBSDKGraphRequestErrorParsedJSONResponseKey={
body = {
error = {
code = 100;
"fbtrace_id" = "G3OpyiU/JKs";
message = "(#100) Unknown fields: fields=id.";
type = OAuthException;
};
};
code = 400;
}, com.facebook.sdk:FBSDKGraphRequestErrorHTTPStatusCodeKey=400, com.facebook.sdk:FBSDKErrorDeveloperMessageKey=(#100) Unknown fields: fields=id., com.facebook.sdk:FBSDKGraphRequestErrorCategoryKey=0} {
"com.facebook.sdk:FBSDKErrorDeveloperMessageKey" = "(#100) Unknown fields: fields=id.";
"com.facebook.sdk:FBSDKGraphRequestErrorCategoryKey" = 0;
"com.facebook.sdk:FBSDKGraphRequestErrorGraphErrorCode" = 100;
"com.facebook.sdk:FBSDKGraphRequestErrorHTTPStatusCodeKey" = 400;
"com.facebook.sdk:FBSDKGraphRequestErrorParsedJSONResponseKey" = {
body = {
error = {
code = 100;
"fbtrace_id" = "G3OpyiU/JKs";
message = "(#100) Unknown fields: fields=id.";
type = OAuthException;
};
};
code = 400;
};
}
运行 与 parameters 相同:nil 有效但不会返回所有需要的数据。
在 Graph API 的 v2.0 中,调用 /me/friends returns 也使用该应用程序的人的朋友。
此外,在v2.0中,您必须向每个用户申请user_friends权限。 user_friends 不再默认包含在每次登录中。每个用户必须授予 user_friends 权限才能出现在对 /me/friends 的响应中。查看 Facebook 升级指南了解更多详细信息
已通过以下权限进行测试和工作:
loginView.readPermissions = @[@"public_profile", @"email", @"user_friends"];
NSString *path = [NSString stringWithFormat:@"/me/friends"];
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
initWithGraphPath:path
parameters:@{@"fields": @"id, name, picture, devices"}
HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error)
{
}];
我正在尝试使用 Facebook SDK 获取好友列表,但没有成功。
这是我使用的代码:
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
initWithGraphPath:@"me/friends"
parameters:@{@"fields": @"fields=id, first_name, last_name, birthday, gender, picture, devices"}
HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
id result,
NSError *error) {
if (error == nil) {
NSArray* friends = [result objectForKey:@"data"];
} else {
NSLog(@"Error: %@ %@", error, [error userInfo]);
}
}];
这是我得到的错误:
2016-05-08 00:07:12.610 App2Gift[48103:676830] Failed getting friend list
2016-05-08 00:07:12.610 App2Gift[48103:676830] Error: Error Domain=com.facebook.sdk.core Code=8 "(null)" UserInfo={com.facebook.sdk:FBSDKGraphRequestErrorGraphErrorCode=100, com.facebook.sdk:FBSDKGraphRequestErrorParsedJSONResponseKey={
body = {
error = {
code = 100;
"fbtrace_id" = "G3OpyiU/JKs";
message = "(#100) Unknown fields: fields=id.";
type = OAuthException;
};
};
code = 400;
}, com.facebook.sdk:FBSDKGraphRequestErrorHTTPStatusCodeKey=400, com.facebook.sdk:FBSDKErrorDeveloperMessageKey=(#100) Unknown fields: fields=id., com.facebook.sdk:FBSDKGraphRequestErrorCategoryKey=0} {
"com.facebook.sdk:FBSDKErrorDeveloperMessageKey" = "(#100) Unknown fields: fields=id.";
"com.facebook.sdk:FBSDKGraphRequestErrorCategoryKey" = 0;
"com.facebook.sdk:FBSDKGraphRequestErrorGraphErrorCode" = 100;
"com.facebook.sdk:FBSDKGraphRequestErrorHTTPStatusCodeKey" = 400;
"com.facebook.sdk:FBSDKGraphRequestErrorParsedJSONResponseKey" = {
body = {
error = {
code = 100;
"fbtrace_id" = "G3OpyiU/JKs";
message = "(#100) Unknown fields: fields=id.";
type = OAuthException;
};
};
code = 400;
};
}
运行 与 parameters 相同:nil 有效但不会返回所有需要的数据。
在 Graph API 的 v2.0 中,调用 /me/friends returns 也使用该应用程序的人的朋友。
此外,在v2.0中,您必须向每个用户申请user_friends权限。 user_friends 不再默认包含在每次登录中。每个用户必须授予 user_friends 权限才能出现在对 /me/friends 的响应中。查看 Facebook 升级指南了解更多详细信息
已通过以下权限进行测试和工作:
loginView.readPermissions = @[@"public_profile", @"email", @"user_friends"];
NSString *path = [NSString stringWithFormat:@"/me/friends"];
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
initWithGraphPath:path
parameters:@{@"fields": @"id, name, picture, devices"}
HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error)
{
}];