ios - Facebook Graph 请求返回姓名但不返回电子邮件

标签 ios swift facebook facebook-graph-api

我正在使用图形 API 从 Facebook 登录返回我的姓名和电子邮件。这是我使用的代码 - 名称返回正常,但电子邮件为零:

func getUserInfo() {
    let params = ["fields" : "email, name"]
    let graphRequest = GraphRequest(graphPath: "me", parameters: params)
    graphRequest.start {
        (urlResponse, requestResult) in

        switch requestResult {
        case .failed(let error):
            print("error in graph request:", error)
            break
        case .success(let graphResponse):
            if let responseDictionary = graphResponse.dictionaryValue {
                print(responseDictionary)

                if let name = responseDictionary["name"] {
                    self.nameLabel.text = "Logged in as: \n\(name)"
                }

                if let email = responseDictionary["email"] {
                    self.emailLabel.text = "Your email is: \n\(email)"
                } else {
                    self.emailLabel.text = "Your email is: "
                }
                print(responseDictionary["name"])
                print(responseDictionary["email"])
            }
        }
    }
}

这是打印到我的控制台的内容:

["id": 1653899307960705, "name": *my name removed for privacy*]
Optional(*my name removed for privacy*)
nil

我不确定我的代码是错误的还是只是一个错误 - 我将电子邮件和名称都指定为我的参数,但正如您所见,只有名称返回。有人知道为什么会这样吗?

最佳答案

您的代码绝对正确,facebook graph API 不提供电子邮件的可能性很小:

  1. 注册用户已提交其电子邮件但未经过验证
  2. 用户已将电子邮件(可见性)设置为私有(private)/仅限 friend 访问(不公开)

检查一个/您的帐户的帐户设置(电子邮件有效且经过验证并且是公开的)

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

相关文章:

ios - 使用 UIProgressBar 显示下载状态

objective-c - 将 mapkit 注释滑入新位置

ios - 在 Swift 3/xCode 8 中从表视​​图 Controller 中选择数据时如何更改不同 View Controller 的标签?

ios - 如何使用代码在模拟器上模拟不良的互联网连接

iOS - 如何在应用程序处于后台时检测网络变化

javascript - 显示特定的键值对

ios - 在我的 iOS 应用程序的本地通知中实现振动和声音设置

ios - "Fatal error: unexpectedly found nil while unwrapping an Optional value"- 将图像发布到 FaceBook

java - Webview无法输入,是因为缺少设置吗?

ios - swift 4 : Scanning QR codes with dictionary inputs