@IBAction func loginWithFB(sender: AnyObject) { var permissions = [ "public_profile","email","user_frIEnds"] PFFacebookUtils.logInInBackgrounDWithReadPermissions(permissions,block: { (user: PFUser?,error: NSError?) -> VoID in if let user = user { if user.isNew { println("User signed up and logged in through Facebook!") self.performSegueWithIDentifIEr("success",sender: self) //let params = ["fIElds": "name,email,frIEnds"] let graphRequest: FBSDKGraphRequest = FBSDKGraphRequest(graPHPath: "me",parameters: ["fIElds": "name,frIEnds"]) graphRequest.startWithCompletionHandler({ (connection,result,error) -> VoID in if ((error) != nil) { // Process error println("Error: \(error)") } else { //get username let username : Nsstring = result.valueForKey("name") as! Nsstring println(username) //get Facebook ID let email: Nsstring = result.valueForKey("email") as! Nsstring println(email) //get facebook frIEnds who use app let frIEndList: Nsstring = result.valueForKey("frIEnds") as! Nsstring println(frIEndList) } }) } else { println("User logged in through Facebook!") self.performSegueWithIDentifIEr("success",sender: self) } } else { println("Uh oh. The user cancelled the Facebook login.") } })}解决方法 我不认为FBSDKLog:从Graph API v2.4开始,/ me的GET请求应该包含一个显式的“fIElds”参数实际上是一个错误.它只是一个日志.如果你将运行代码并设置一个断点,你会发现,错误实际上是零,你将能够成功编译代码并看到代码的else部分被执行.
现在,您尝试访问Facebook用户的名称,但不在字段中传递名称.这就是为什么你会将名称命名为null.将名称作为参数列表传递.
let params = ["fIElds": "name,frIEnds"] <----- This line
或者在这里:
let graphRequest: FBSDKGraphRequest = FBSDKGraphRequest(graPHPath: "me",frIEnds"])
现在,您将能够获取Facebook用户的姓名,电子邮件和朋友.
总结以上是内存溢出为你收集整理的ios – 为什么我在访问用户的Facebook信息时会收到此错误?全部内容,希望文章能够帮你解决ios – 为什么我在访问用户的Facebook信息时会收到此错误?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)