Facebook SDK在Swift with Parse中为用户first_name,last_name,email和用户名返回nil

时间:2015-10-17 13:08:55

标签: ios facebook facebook-graph-api parse-platform

我正在使用Parse和Facebook SDK编写应用程序。我已成功实施Parse登录和Facebook登录,现在从Facebook检索数据时遇到一些麻烦。 我使用以下代码来获取数据:

let request = FBSDKGraphRequest(graphPath:"me", parameters:nil)
request.startWithCompletionHandler {
   (connection, result, error) in
   if error != nil {
      print (error)
   } else if let userData = result as? NSDictionary {
      print (userData["name"] as? String)
      print (userData["first_name"] as? String)
      print (userData["last_name"] as? String)
      print (userData["email"] as? String)
      print (userData["username"] as? String)
   }
}  

结果我得到了这个:

Optional("Name Surname")
nil
nil
nil
nil  

第一个字符串表示数据已成功接收且全名不为空,但所有剩余字符串均为空。同时我检查了我的Facebook个人资料,我在设置中有单独的姓名和姓氏,我的电子邮件已经过验证。 对于读取权限,我设置了["public_profile", "email"]。 这里有什么问题,为什么我对所有这些字符串都是零?

1 个答案:

答案 0 :(得分:11)

使用

等请求发送参数
 FBSDKGraphRequest(graphPath: "me", parameters: ["fields": "id, email, first_name, last_name"])