【发布时间】:2026-01-11 18:40:01
【问题描述】:
我有一个注册/登录方法(来自 PFFacebookUtilsV4),当新的 Facebook 用户登录时,它成功地将一个新的 PFUser 对象添加到我的 Parse 数据库中。在该方法中,我创建了一个 FBSDKGraphRequest 来获取基本的用户数据(姓名、电子邮件)。但是,我无法将名称和电子邮件添加到新创建的 PFUser 对象。到目前为止,这是我的代码:
@IBAction func facebookLogin(sender: AnyObject) {
PFFacebookUtils.logInInBackgroundWithReadPermissions(["public_profile","email","user_friends"], block: { (user: PFUser?, error: NSError?) -> Void in
if let user = user {
if user.isNew {
let graphRequest : FBSDKGraphRequest = FBSDKGraphRequest(graphPath: "me", parameters: ["fields":"name,email,picture.width(480).height(480)"])
graphRequest.startWithCompletionHandler({ (connection, result, error) -> Void in
if ((error) != nil)
{
println("Error: \(error)")
ProgressHUD.showError("Error occurred.")
} else {
self.userFullName = result.valueForKey("name") as? String
println("User Name is: \(self.userFullName)")
self.userEmail = result.valueForKey("email") as? String
println("User Email is: \(self.userEmail)")
// Here I try to add the retrieved Facebook data to the PFUser object
user["fullname"] = self.userFullName
user.email = self.userEmail
self.performSegueWithIdentifier("login", sender: self)
println("User signed up and logged in through Facebook!")
ProgressHUD.showSuccess("Welcome \(self.userFullName)!")
}
})
} else {
println("User logged in through Facebook!")
ProgressHUD.showSuccess("Welcome \(self.userFullName)!")
self.performSegueWithIdentifier("login", sender: self)
}
} else {
println("User cancelled the Facebook login.")
}
})
}
谢谢!非常感谢任何帮助。
【问题讨论】:
-
哇。一年零 9 个月后,我正在查看这段代码,这让我很头疼。我想把所有东西都打成一个函数也可以……
标签: facebook swift parse-platform xcode6 facebook-sdk-4.0