Facebook SDK v4 + Parse 1.7.5 问题

Facebook SDK v4 + Parse 1.7.5 issue

我已经将我的 SDK 从 Facebook 和 Parse 更新到最新的,其中包括对 PFFacebookUtils 结构的一些更改。

我想用 FB 的一些内容创建一个 PFUser。它在更新之前已经工作了很长时间,但现在当我登录时,我只收到来自 Facebook 请求的用户名和 FBID。

这是"I"登录的方式:

NSArray *permissionsArray = @[@"public_profile", @"email", @"user_education_history", @"user_work_history", @"user_birthday", @"user_friends", @"user_photos"];

[PFFacebookUtils logInInBackgroundWithReadPermissions:permissionsArray block:^(PFUser *user, NSError *error) { ... }];

这是我尝试获得结果的方式:

FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:nil];
        [request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
    NSLog(@"Result %@", result);
    ...
}];

日志只显示了这个:

    2015-08-03 01:41:15.039 XXXXXX[10807:2640469] Result {
        id = 1015XXXXXXXXXXXX;
        name = "Simon XXXX";
    }

Facebook App ID在pList中设置。

最新的 Facebook SDK 使用 Graph API v2.4,所以特殊的 me 请求需要特定字段作为图形路径的查询参数。

因此,如果您需要访问名字、姓氏和电子邮件,代码中的图形路径将如下所示:

FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] initWithGraphPath:@"me?fields=first_name,last_name,email" parameters:nil];
        [request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
    NSLog(@"Result %@", result);
    ...
}];

我还建议您查看并使用 Graph API Explorer(注意右上角的 API 版本下拉列表)。