我试图从 Facebook 好友中检索电子邮件地址。但是,它无法检索到电子邮件地址。
我打印了电子邮件地址。但是,它显示为空。
我在权限数组 FBRequest 中添加了电子邮件地址。
-(void)LoginButtonTapped
{
[FBSession.activeSession openWithCompletionHandler:^(FBSession *session,
FBSessionState state,
NSError *error)
{
if (FBSession.activeSession.isOpen)
{
NSLog(@"TOKEN : %@",[[FBSession activeSession]accessTokenData]);
FBRequest *friendRequest = [FBRequest requestForGraphPath:@"me/friends?fields=name,picture,birthday,email,location"];
[friendRequest startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error)
{
NSArray *data = [result objectForKey:@"data"];
for (FBGraphObject<FBGraphUser> *friend in data)
{
[delegate.friendsListArray addObject:friend];
NSLog(@"%@:%@:%@:", [friend name],[friend birthday],[friend id]);
NSString *email=[friend objectForKey:@"email"];
NSLog(@"Email:%@",email);
}
}];
}
}];
}
- (void) performPublishAction:(void (^)(void)) action
{
NSArray *permissions = [[NSArray alloc] initWithObjects:@"user_birthday",@"user_location",@"friends_email",@"friends_hometown",@"friends_birthday",@"friends_location",@"publish_actions",@"user_photos",nil];
[[delegate facebook]authorize:permissions];
if ([FBSession.activeSession.permissions indexOfObject:permissions] == NSNotFound)
{
[FBSession.activeSession requestNewPublishPermissions:permissions
defaultAudience:FBSessionDefaultAudienceFriends
completionHandler:^(FBSession *session, NSError *error) {
if (!error) {
action();
}
}];
}
else
{
action();
}
[permissions release];
}
任何想法请帮助我。
最佳答案
在黑暗中拍摄,但你检查过你的错误值了吗?另外,您返回的记录数是多少?
也可以试试这个,这似乎有效(您可能需要使用 objectForKey
从对象中获取电子邮件):
FBRequest* friendsRequest = [FBRequest requestForMyFriends];
[friendsRequest startWithCompletionHandler: ^(FBRequestConnection *connection,
NSDictionary* result,
NSError *error) {
NSArray* friends = [result objectForKey:@"data"];
NSLog(@"Found: %i friends", friends.count);
for (NSDictionary<FBGraphUser>* friend in friends) {
NSLog(@"I have a friend named %@ with id %@", friend.name, friend.id);
}
}];
关于ios - 从 iOS 中的 Facebook SDK 检索 friend 的电子邮件地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18564938/