ios - Facebook请求不返回电子邮件

标签 ios objective-c facebook facebook-graph-api facebook-ios-sdk

Facebook请求未输出任何电子邮件。我怎么得到这个?我的登录/注册过程需要它

- (void)request:(FBRequest *)request didLoad:(id)result{

    NSLog(@"FACEBOOK RESULT %@ ", result);

}

这是最初的要求:
[facebook requestWithGraphPath:@"me" andDelegate:self];

最佳答案

如果没有请求其他权限来获取email属性,请参见https://developers.facebook.com/docs/reference/login/email-permissions/

我的应用程序使用以下代码首先检查Facebook session 是否有效(self.facebook是使用Facebook初始化的initWithAppId对象):

  if (![self.facebook isSessionValid]) { 

    NSArray* permissions =  [NSArray arrayWithObjects: @"email", nil];

    [self.facebook authorize:permissions];

  } else { 
    // Since we have a valid session we can get the userinfo
    [self getFacebookUserInfo];
  }

您的应用程序提示符将指示“使用此应用程序需要:*您的基本信息*您的电子邮件地址”如果用户授权您获取此信息,则您返回的访问 token 将设置为允许您获取电子邮件地址的位。 ,以下内容将起作用:
-(void)getFacebookUserInfo {
  [self.facebook requestWithGraphPath:@"me" andDelegate:self];
}

假设您的-(void)request:(FBRequest *)request didLoad:(id)result方法可用(看起来确实可用)。

请注意,本文中未提供SSO(单一登录)的完整流程,您需要详细了解https://developers.facebook.com/docs/tutorials/ios-sdk-tutorial/#implementsso

另请注意,您可能正在使用iOS 6弃用的API,在继续之前,请先查看https://developers.facebook.com/docs/tutorial/iossdk/upgrading-from-2.0-to-3.1/

关于ios - Facebook请求不返回电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14991523/

相关文章:

iphone - 键盘弹起时 Facebook 对话框不旋转

objective-c - 使用 SSO facebook 的故事链接流 - 未调用 openURL

ios - UICollectionView 重新加载数据但不显示新单元格

objective-c - 如何构建单个 .a(Cocoa Touch 静态库)

iphone - 为什么 NSString 属性更改为无效值?

android - HTML 粗体标记问题 -

ios - 如何在 UIBarButton 项目下面添加一个 UIImage

ios - Objective-C 中的 nonnull 是什么?

objective-c - 查找文件大小

ios - 如何将NSUserDefaults整数与另一个整数进行比较?