通过解析获取Facebook上的分数

时间:2014-01-03 19:22:04

标签: ios iphone facebook parse-platform username

所以我终于得到了我的应用程序,让用户登录Facebook并进行解析。让我的应用程序称为游戏,即使它不是,让我们说我上传了每次玩游戏时得到的最新分数。所以我所做的就是上传“得分”来解析用户。现在,我希望用户能够看到Facebook上得分的朋友。所以,我有用户登录,现在我如何检查他们的朋友是否正在使用我的“游戏”,然后将他们的电子邮件与解析中的那个匹配以获得得分?截至目前,我可以获得登录用户的朋友ID。

顺便说一句。用户必须登录Facebook并为我的应用程序制作一个解析帐户

我知道我不得不使用查询从解析中获取内容,我想我的主要问题是如何让facebook用户收到电子邮件?

这就是我获取他们身份的方式:

- (void)getFacebookInfo {
    [FBRequestConnection startForMeWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
        if (!error) {
            // Set user's information
            NSString *facebookId = [result objectForKey:@"id"];
            NSString *facebookName = [result objectForKey:@"name"];

            if (facebookName && facebookName.length != 0) {
                [[PFUser currentUser] setObject:facebookName forKey:@"displayName"];
            }
            if (facebookId && facebookId.length != 0) {
                [[PFUser currentUser] setObject:facebookId forKey:@"facebookId"];
            }

            [[PFUser currentUser] saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
                // Get user's friend information
                [FBRequestConnection startForMyFriendsWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
                    if (!error) {
                        NSArray *data = [result objectForKey:@"data"];
                        NSMutableArray *facebookIds = [[NSMutableArray alloc] initWithCapacity:data.count];
                        for (NSDictionary *friendData in data) {
                            [facebookIds addObject:[friendData objectForKey:@"id"]];
                        }

                        [[PFUser currentUser] setObject:facebookIds forKey:@"facebookFriends"];
                        [[PFUser currentUser] saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
                            // We're in!
                            NSLog(@"%@", facebookName);
                            [self dismissViewControllerAnimated:YES completion:NULL];
                        }];
                    } else {
                        [self showErrorAlert];
                    }
                }];
            }];
        } else {
            [self showErrorAlert];
        }
    }];
}

1 个答案:

答案 0 :(得分:0)

为了在startForMyFriendsWithCompletionHandler的完成处理程序中获取Facebook用户的电子邮件地址,请使用:

[FBRequestConnection startForMyFriendsWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
    if (!error) {
        NSArray *data = [result objectForKey:@"data"];
        for (NSDictionary *friendData in data) {

            //This is each friend's email address
            NSString *aFriendsEmail = [friendData objectForKey:@"email"];

        }
    }
}];