2016-09-17 77 views
0

我想挽救一些從Facebook拉出的當前用戶信息並將其保存到我的解析數據庫。我成功保存了該名稱,但在保存照片時遇到了很多問題。這裏是我的代碼:保存FB Img與解析

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

如果你只想保存一次圖片(當用戶在Facebook上更改時不刷新),請按照JVS的答案。如果您希望每次用戶在Facebook上更改圖像時都會更改該圖像,則可以將用戶Facebook ID保存在特定列中,然後構建在客戶端中獲取圖像的URL。 –

回答

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中使用圖像。