我正在尝试保存从Facebook提取的一些当前用户信息并将其保存到我的解析数据库中。我成功保存了名称,但是在保存照片时遇到了很多问题。这是我的代码:
FBSDKGraphRequest(graphPath: "me",
parameters: ["fields": "id, name,friends, first_name, last_name, picture.type(large), email, gender,taggable_friends"])
.startWithCompletionHandler({ (connection, result, error) -> Void in
print(String(result["picture"]))
PFUser.currentUser()!["name"] = String(result["name"])
let imageData = UIImagePNGRepresentation(result["picture"])
let imageFile = PFFile(name:"image.png", data:imageData)
PFUser.currentUser()?["imageFile"] = imageFile
PFUser.currentUser()?.saveInBackground()
})
任何帮助都将不胜感激。
答案 0 :(得分:0)
这是我在完成处理程序中执行此操作的方式:
let userId:String = result.objectForKey("id") as! String
let facebookProfilePictureUrl = "https://graph.facebook.com/" + userId + "/picture?type=large"
let url = String(facebookProfilePictureUrl)
现在使用URL
,您可以执行以下操作:
if let fbpicURL = NSURL(string: facebookProfilePictureUrl) {
if let data = NSData(contentsOfURL: fbpicURL) {
let imageFile:PFFile = PFFile(data: data)!
PFUser.currentUser()?["imageFile"] = imageFile
PFUser.currentUser()?.saveInBackground()
}
}
修改强> 我没有在graphPath中使用该图片。