FBRequest问题 - 获取朋友的信息



我正试图通过发送FBRequest来获取朋友的生日、位置和姓名,并在不同视图的表上显示结果。但我总是没有得到任何回应。我先设置了权限,然后创建了一个带有必需字段的请求:

NSArray *permissions = [[NSArray alloc] initWithObjects:
                        @"user_birthday",@"friends_hometown",
                        @"friends_birthday",@"friends_location",
                        nil];
if (!FBSession.activeSession.isOpen) {
    [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) {
                                          NSLog(@"permissions::%@",session.permissions);
                                          NSLog(@"Open");
                                          FTBFriendTableViewController *ftbFriendTableViewController= [[FTBFriendTableViewController alloc] initWithNibName:@"FTBFriendTableViewController" bundle:nil];
                                          FTBAppDelegate *delegate=(FTBAppDelegate*)[[UIApplication sharedApplication] delegate];
                                          if (ftbFriendTableViewController.friendList == nil){
                                              ftbFriendTableViewController.friendList = [[NSMutableArray alloc] init];
                                          }
                                         FBRequest *friendRequest = [FBRequest requestForGraphPath:@"me/friends?fields=name,birthday,location"];
                                          [ friendRequest startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
                                              ftbFriendTableViewController.friendList = [result objectForKey:@"data"];
                                              for (FBGraphObject<FBGraphUser> *friend in test) {
                                                  NSLog(@"%@:%@", [friend name],[friend birthday]);
                                              }}];
                                          delegate.window.rootViewController = ftbFriendTableViewController;
                                      }
                                  }];
    return;
}

我还在应用程序plist中设置了FacebookAppID、FacebookDisplayName和URL标识符。这是发送的实际请求:

FBRequest:0x94c1080,session:0xa1c5600,graphPath:me/friends?fields=名称,生日,位置,HTTPMethod:GET,参数:{"migration_bundle"="fbsdk:20130409";}

知道还有什么会导致没有响应问题吗?谢谢

我发现了这个问题。当您在.plist中添加"URL类型"参数时,XCode默认会添加"URL标识符"。对于Facebook应用程序,我们应该添加"URL Schemes"而不是"URL identifier",并将fb[FacebookAppID]指定为值。

相关内容

  • 没有找到相关文章