所以我终于得到了我的应用程序,让用户登录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];
}
}];
}
答案 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"];
}
}
}];