如何在Ios sdk上获取Facebook上的朋友生日和用户生日

时间:2015-09-01 07:02:02

标签: ios iphone facebook facebook-graph-api facebook-ios-sdk

我想在我的应用程序上获得用户和朋友的生日。

我正在尝试检索Facebook好友的生日数据,但它返回null。我使用此代码:

- (IBAction)login_click:(id)sender
{
    FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
    [login logInWithReadPermissions:@[@"email", @"user_friends",@"user_birthday",@"friends_birthday"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error)
         {
             if (error)
             {
                 // Process error
                 NSLog(@"error is :%@",error);
             }
             else if (result.isCancelled)
             {
                 // Handle cancellations
                 NSLog(@"error is :%@",error);
             }
             else
             {
                NSLog(@"Login successfull");
                [self fetchUserInfo];
              }
             }
         }];
}


-(void)fetchUserInfo
{
    if ([FBSDKAccessToken currentAccessToken])
    {
        [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:@{@"fields": @"id,name,link,first_name, last_name, picture, email, birthday, bio ,location ,friends ,hometown , friendlists"}]
         startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
             if (!error)
             {
              NSLog(@"result : %@",result);
              NSLog(@"user birthday : %@",[result valueForKey:@"birthday"]);
              NSLog(@"friends Birthday : %@",[result valueForKey:@"friends_birthday"]);
             }
         }];

    }
}

但是用户生日和朋友的生日是返回NULL

1 个答案:

答案 0 :(得分:1)

随着图谱API的v2.0的推出,friends_*已被弃用。所以你不能再得到他们了。此外,/me/friends只会返回那些也在使用您的应用的朋友。

此外,您尝试请求一些您没有收集权限的字段,这些字段也无法正常工作。