IOS Facebook SDK,获取用户信息

时间:2014-09-07 12:39:19

标签: ios facebook-ios-sdk facebook-sdk-3.0 facebook-sdk-4.0

是否有可能使用Facebook SDK从用户ID获取用户信息?一个重要的注意事项是,用户在应用程序发出请求之前已经批准了应用程序及其权限。 如果可能,实现这一目标的正确方法是什么?我正在尝试使用此代码:

[FBRequestConnection startWithGraphPath:@"/100007046299250"
                             parameters:nil
                             HTTPMethod:@"GET"
                      completionHandler:^(
                                          FBRequestConnection *connection,
                                          id result,
                                          NSError *error
                                          ) {
                          /* handle the result */
                      }];

但是我收到以下错误消息:

Error for request to endpoint '/100007046299250': An open FBSession must be specified for calls to this endpoint.

由于

1 个答案:

答案 0 :(得分:0)

登录验证后,您可以从活动的FBSession获取详细信息,如下所示

if (FBSession.activeSession.isOpen) {

    [[FBRequest requestForMe] startWithCompletionHandler:
     ^(FBRequestConnection *connection,
       NSDictionary<FBGraphUser> *user,
       NSError *error) {
         if (!error) {
             NSString *firstName = user.first_name;
             NSString *lastName = user.last_name;
             NSString *facebookId = user.id;
             NSString *email = [user objectForKey:@"email"];
             NSString *imageUrl = [[NSString alloc] initWithFormat: @"http://graph.facebook.com/%@/picture?type=large", facebookId];
         }
     }];
}