2013-07-05 42 views
3

我试图通过发送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; 
} 

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

FBRequest:0x94c1080,会议:0xa1c5600,graphPath:我/朋友栏=姓名,生日,地点,列举HTTPMethod:GET,参数:{ “migration_bundle”=“fbsdk :20130409" ; }

任何想法还有什么可以导致没有响应问题?谢谢!

回答

2

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