0

我正在尝试从 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]);
                        }
                    }];
                }
            }];

谢谢

4

2 回答 2

0

在新版本中,Facebook's API您只会获得安装该应用程序的朋友(即is_app_user1 个)。您无法再找到尚未使用您的应用程序登录的朋友。相反,您可以获得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) {
                            //...
                      }];
于 2014-10-03T12:46:13.527 回答
0

可能的原因:

1)您无权获取该账号的连接(apikey/passkey错误或权限设置不正确)

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

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

于 2014-10-03T12:37:31.890 回答