我正在尝试使用用户连接中的位置来检索用户在某个位置被标记的帖子、状态和照片。问题是,虽然在 Graph Api Explorer 中使用适当的权限并获得所需的结果,但在我的应用程序中却没有发生同样的情况。响应仅返回缺少位置键的用户 ID。我使用的代码如下:
对于权限:
NSArray *permissions = [[NSArray alloc] initWithObjects:@"friends_status",@"friends_photos",nil];
if (!FBSession.activeSession.isOpen) {
// if the session is closed, then we open it here, and establish a handler for state changes
[FBSession openActiveSessionWithReadPermissions:permissions
allowLoginUI:YES
completionHandler:^(FBSession *session,
FBSessionState state,
NSError *error) {
if (error) {
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error"
message:error.localizedDescription
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alertView show];
} else if (session.isOpen) {
[self pickFriendsButtonClick:sender];
}
}];
return;
}
要检索数据:
for (int i = 0; i < [selectedFbFriends count]; i++) {
NSString *path = [NSString stringWithFormat:@"me/friends/%@?fields=locations",selectedFbFriends[i]];
FBRequest *friendRequest = [FBRequest requestForGraphPath:path];
[friendRequest startWithCompletionHandler:^(FBRequestConnection *connection, id<FBGraphObject> result, NSError *error) {
NSLog(@"%@",result[@"data"]);
}
结果与在 Graph Api Explorer 中使用相同的路径不同。我只得到用户ID。我的脑袋要炸了,因为我找不到哪里出了问题,而且许可似乎是正确的。任何帮助将不胜感激。:)