IOS中的Facebook好友列表总是空的



我正在尝试从facebook上获取正在使用我的应用程序的朋友,但在响应中,我得到了空列表。请告诉我我做错了什么。我正在使用以下代码

[[FBRequest requestForMe] startWithCompletionHandler: ^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *user, NSError *error) {
                if (error) {
                    //error
                    NSLog(@"%@",error);
                }else{
                    FBRequest* friendsRequest = [FBRequest requestForMyFriends];
                    [friendsRequest startWithCompletionHandler: ^(FBRequestConnection *connection,NSDictionary* result,NSError *error) {
                        NSArray* friends = [result objectForKey:@"data"];
                        NSLog(@"%@",result);
                        for (NSDictionary<FBGraphUser>* friend in friends)
                        {
                            NSLog(@"%@ %d",friend.username,[friend.id intValue]);
                        }
                    }];
                }
            }];

感谢

可能的原因:

1) 您没有获得此帐户连接的权限(错误的apikey/passkey或权限设置不正确)

2) 检查"结果"变量中存储的内容和答案状态:它可能会以某种方式指导您。

3) 最后,试着获取一些更简单的信息(比如你自己的用户名),以确保你可以访问这些信息。

在新版Facebook's API中,您将只得到安装了该应用程序的朋友(即is_app_user为1)。你再也找不到没有使用你的应用程序登录的朋友了。相反,您可以获得taggable_friends。这将返回你所有朋友的列表,但这里的"id"字段将不同,而不是真正的facebook id。它只用于标记,即传递到字段"标签",如:

 NSDictionary *params = @{@"message":self.invitationText.text,
                         @"tags":ids,
                         @"caption":@"...",
                         @"name":@"...",
                         @"place":@"123456789",
                         @"link":APP_STORE_URL};
[FBRequestConnection startWithGraphPath:@"/me/feed"
                             parameters:params
                             HTTPMethod:@"POST"
                      completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
                            //...
                      }];

相关内容

  • 没有找到相关文章

最新更新