iOS Facebook SDK 4.0.1 获取用户的电子邮件

标签 ios facebook swift facebook-ios-sdk

我正在尝试使用以下内容获取用户的电子邮件地址:

fbLoginManager.logInWithReadPermissions(["email", "public_profile"], handler: { (loginResult, error) -> Void in

                if error != nil {
                    //handle error
                } else if loginResult.isCancelled {
                    //handle cancellation
                } else {
                    //Logged in
                    self.loggedinUser.fbToken = FBSDKAccessToken.currentAccessToken().tokenString

                    var graphReq = FBSDKGraphRequest(graphPath: "me", parameters: nil).startWithCompletionHandler { (connection, result, error) -> Void in
                        if let user = result as? NSDictionary {
                            var email = result.objectForKey("email") as? String
                            var name = result.objectForKey("name") as? String
                            self.loggedinUser.email = email ?? nil
                            self.loggedinUser.fullName = name ?? nil

                        }
                    }
                }
            })

但是在 loginResult 对象中,用户的电子邮件没有被发送。知道如何解决这个问题吗?

谢谢

最佳答案

您必须在参数中提供您想要得到的内容:

FBSDKGraphRequest(graphPath: "me", parameters: ["fields": "email"]).startWithCompletionHandler({ (connection, result, error) -> Void in

例如获取多个字段:

parameters: ["fields": "id, name, email, picture.type(large)"]

关于iOS Facebook SDK 4.0.1 获取用户的电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29590272/

相关文章:

macos - 将 NSTableView 绑定(bind)到 Swift 中的字符串数组

ios - 当端口被阻止时在设备上开发 React Native

ios - 从 iCloud 备份中排除文件

ios - UITableViewCell subview 在 iOS7 中仅返回 UITableViewCellScrollView

javascript - 如何在 Facebook 帖子中嵌入自定义 HTML5 播放器?

Facebook Graph API 不返回事件图片

facebook - 如何使用 Facebook 连接登录到我的数据库?

swift - 如何在 Swift 中创建带有起点和终点的线条(ARKit、SCENEKit)

ios - 正确的变量绑定(bind)并避免使用 SQLite.swift 查询进行 SQL 注入(inject)

ios - 使用来自包含 block 的两个方法的信息删除 UITableViewRows