无法在 Facebook ios SDK 中获取登录者的电子邮件 ID

2024-01-07

我正在开发一个 Facebook IOS 应用程序,从 Facebook 获取用户数据(公共资料、电子邮件)。实施登录过程后,我能够获取用户的名字、姓氏和个人资料图片的 url,但我收到的电子邮件一片空白。我已经通过了获取公开个人资料和 Emial 的许可。但我没有收到此人的电子邮件。

我正在使用 facebook SDK for ios V4.0.1

这是我的代码

        [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me"
                                     parameters:@{@"fields": @"first_name, last_name, picture, email"}]
                              startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
if (!error) {                    
NSString *firstName = [NSString stringWithFormat:@"%@",[result objectForKey:@"first_name"]];

NSString *lastName = [NSString stringWithFormat:@"%@",[result objectForKey:@"last_name"]];
NSString *email = [NSString stringWithFormat:@"%@",[result objectForKey:@"email"]];
NSString *picurl = [NSString stringWithFormat:@"%@",[result objectForKey:@"picture"]];

 NSLog(@"email is %@", [result objectForKey:@"email"]);

 NSLog(@"picture is %@", [result objectForKey:@"picture"]);
 }
 else{
 NSLog(@"%@", [error localizedDescription]);
}
 }];

我得到以下输出:

email is (null)
picture is {
    data =     {
        "is_silhouette" = 0;
        url = "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-xfp1/v/t1.0-1/p50x50 **************_************_n.jpg?oh=ed5fd60c770cb5f34424b3fcfb4ca174&oe=559F472D&__gda__=1437970763_989a264cf7ec16f5d51b0a58b7e7f609";
    };
}

为什么我没有得到用户的电子邮件地址


记录时。您必须征求用户对电子邮件的许可,否则您收到的电子邮件将显示为 (null)。

无法获取电子邮件 ID

FBSDKLoginButton *loginView = [[FBSDKLoginButton alloc] init];
 loginView.readPermissions =  @[@"public_profile"];

如果您使用上述权限登录,那么您将无法获取电子邮件 ID,它将始终返回(空)。

将获取带有公开个人资料的电子邮件 ID

FBSDKLoginButton *loginView = [[FBSDKLoginButton alloc] init];
loginView.readPermissions =  @[@"email"];

我们的应用程序在成功登录后会自动获得 public_profile 权限,但不会收到电子邮件。

自定义登录也是如此。

参考:https://developers.facebook.com/docs/facebook-login/ios/v2.3#login-api 调用 https://developers.facebook.com/docs/facebook-login/ios/v2.3#login-apicalls

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法在 Facebook ios SDK 中获取登录者的电子邮件 ID 的相关文章

  • 请求对话框仅适用于 Canvas-View?

    我有一些粉丝专页的页面选项卡 我想在那里集成 RequestDialog 但不幸的是 它总是尝试将收到请求的朋友重定向到画布页面 有没有办法将用户发送到他的朋友最初启动请求对话框的页面选项卡 提前致谢 尤里克 接受请求将始终转到画布页面re
  • iOS 中 NSDecimalNumber 的小数分隔符错误

    我尝试通过以下方式输出具有正确的小数分隔符的十进制数的描述 NSString strValue 9 94300 NSDecimalNumber decimalNumber NSDecimalNumber decimalNumberWithS
  • Swift,以编程方式更改 UICollectionViewCell 和 UILabel(单元格内)的宽度

    我已将单元格 UICollectionViewCell 的宽度设置为等于 UICollectionView 的宽度 并且我尝试对该单元格中包含的 UILabel 执行完全相同的操作 我认为下面的代码准确地解释了我想要实现的目标 所以我在这里
  • Objective-C NSString for 循环与characterAtIndex

    我试图逐个字符地循环遍历 NSString 但出现 EXC BAD ACCESS 错误 您知道如何正确执行此操作吗 我已经在谷歌上搜索了几个小时但无法弄清楚 这是我的代码 m self textLength self text length
  • 从命令行添加 Xcode 开发者帐户

    我正在尝试使用xcodebuild allowProvisioningUpdates在我只能通过命令行访问的计算机 Azure Devops macOS 托管计算机 上 不幸的是 根据man xcodebuild为了使用 allowProv
  • AVAssetExportSession 无法导出从 iCloud 下载的视频

    我正在尝试创建从用户相册中选择的视频的缩小版本 输出的最大尺寸为 720p 因此 在检索视频时 我使用 mediumQualityFormat as the deliveryMode 如果用户设备中不存在原始视频或其中等质量版本 这会导致
  • iOS 7 上 Safari 浏览器的用户代理

    我只想在带有 Safari 浏览器的 iPhone 和 iPod 中打开我的网站 对于 Chrome Dolphin 等任何其他浏览器 它不应该打开 但目前我从几乎所有设备获得相同的用户代理 对于Safari User Agent Stri
  • Cocoa 应用程序菜单栏不可点击

    我正在我的可可应用程序中构建一个菜单栏 其中包含以下代码 implementation我的自定义应用程序CustomApplication void setUpMenuBar CustomApplication sharedApplicat
  • “预期的 ';'在 Swift 下的顶级声明符之后”

    我正在尝试将所有颜色设置在一个 Swift 文件中 该文件可以在我的整个应用程序中使用 下面的代码会导致 import Foundation import UIKit class DotColors let tsblueColor UICo
  • 如何向标准 UIButton 添加徽章? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 是否可以在标准中添加看起来标准的徽章UIButton 如果不支持半原生 那么实现此目的最简单的方法是什么 示例图片 这是 Sascha
  • 在 UIWebView 中播放 Facebook 视频

    有谁知道如何在 Facebook 上播放视频UIWebView 我的应用程序将视频上 传到 Facebook 并检索视频的网址 我想将此网址嵌入到UIWebView播放 我已经为 youtube 解决了这个问题 但没有为 Facebook
  • iPhone:UIApplication WillResignActiveNotification 从未被调用

    我正在视图控制器中播放视频 当用户按下硬件主页按钮并且当前正在播放视频时 应用程序崩溃并显示EXC BAD ACCESS在模拟器中 我读到我应该使用applicationWillResignActive停止视频播放的消息应该可以解决崩溃问题
  • 使用 MapKit 的地形和卫星视图

    我是 Mapkit View 的新手 当我给出没有目的地的纬度和经度时 我想显示 MapKit中是否可以通过地形 卫星视图来显示地图 有教程链接吗 我看过一些访问 Google 地图 API html 文件 的示例 有必要吗 或者您可以通过
  • 如何解决 Xcode 5 中的红色(已移动)文件?

    在 Xcode 4 中 当您要移动文件时 可以通过单击右侧菜单中的按钮并通过 Finder 选择新位置来解析文件的新位置 在 Xcode 5 中 右侧菜单中没有按钮 我还没有找到任何方法通过右键单击文件或顶部菜单栏选项来指定文件的新位置 在
  • UIView 圆角 - Swift 2.0?

    我会尝试将一些项目更新到 Swift 2 0 我有一个视图 左上角有一个圆角 在 Swift 没有警告 没有错误 只是没有圆角 这就是它在 Swift let maskPath UIBezierPath roundedRect conten
  • iOS:如何知道 reloadData() 已完成其任务?

    我想滚动到给定索引 self boldRowPath 但是当我调试时scrollToRow之前执行reloadData 如何知道reloadData已完成 func getAllTimeEvent self arrAllTimeEvent
  • 如何在 UICollectionView 中将行居中?

    我有一个UICollectionView与随机细胞 有什么方法可以让我将行居中吗 默认情况下它是这样的 x x x x x x x x x x x x x x 这是所需的布局 x x x x x x x x x x x x 我必须做这样的事
  • 在 Swift 中从 Parse 加载图像

    我成功地将数据从 Parse 提取到 swift 中 但我的图像似乎没有按照我的方式工作 在我的 cellForRowAtIndexPath 方法中 我执行以下操作 var event AnyObject eventContainerArr
  • CoreBluetooth:检测设备超出范围/连接超时

    我正在设计一个 iOS 框架来处理多个 BLE 设备 均为同一类型 目前一切都运行良好 除了一件事 客户想要一个包含可用设备的列表 但是 我如何检测过去发现的设备何时不再可用 当我尝试连接到不再可用的设备时 会出现另一个问题 文档说 连接尝
  • 更改 iOS7 中 UIAlertView 的字体大小

    我想更改alertView中消息文本和标题文本的字体大小 苹果网站上没有任何文档谈到这一点 但苹果在其子类注释中表示 UIAlertView 类旨在按原样使用 请参考以下链接 https developer apple com librar

随机推荐