这是空数组。这是我的代码,请帮帮我 我在这里遗漏了什么吗???
-(void)loginViewFetchedUserInfo:(FBLoginView *)loginView user:(id<FBGraphUser>)user
{
[FBRequestConnection startWithGraphPath:@"/me/friends"
parameters:nil
HTTPMethod:@"GET"
completionHandler:^(
FBRequestConnection *connection,
id result,
NSError *error
) {
NSLog(@"me/friends result=%@",result);
NSLog(@"me/friends error = %@", error.description);
NSArray *friendList = [result objectForKey:@"data"];
//[m_allFriends addObjectsFromArray: friendList];
}];
}
答案 0 :(得分:2)
您无法再获得整个朋友列表。 现在,该列表仅限于那些也碰巧使用您的应用的朋友。
引用Facebook Graph API 2.0 doc:
权限
需要具有user_friends权限的用户访问令牌才能查看 现在这个人的朋友。这只会归还任何朋友 已经使用(通过Facebook登录)提出请求的应用程序。
所以/me/friends
只会返回已登录并获得相同应用权限的朋友。(您和您的朋友需要允许您的应用通过登录使用Facebook )
答案 1 :(得分:0)
只有那些有权访问您的应用的朋友才会在此阵列中返回。因此,如果您的应用都没有授权您的应用,它将返回空数组。
如果您想对此进行测试,您可以从您的某个朋友帐户授权您的应用,而且当您使用自己的帐户进行测试时,您将收到数组中的1个对象
自Graph API 2.0以来,这已经发生了变化
请阅读从Facebook Graph API文档中提取的以下信息块
需要具有user_friends权限的用户访问令牌才能查看当前此人的朋友。
这只会让所有使用(通过Facebook登录)应用程序的朋友回复。
如果此人的朋友拒绝了user_friends权限,该朋友将不会出现在此人的朋友列表中。
您可以找到此here