2017-02-01 2 views
0

Facebookプロフィール画像をFacebookからFirebaseにアップロードしたい。私はこの答えを試みた:Upload Facebook image URL to Firebase Storage しかし、スウィフトは、その答えのコードの第3行に私にエラーを与えている。コードは次のとおりです。URLから

let dictionary = result as? NSDictionary 
let data = dictionary?.object(forKey: "data") 
let urlPic = (data?.objectForKey("url"))! as! String 

スウィフトが私に言っています:非機能型の値を「Any ?!」と呼ぶことはできません。

let urlPic = ((data as AnyObject).object(ForKey: "url"))! as! String 

私はFacebookのからプロフィール画像を取得するときに使用するコードは何ですか?私はスウィフトが私を示唆し続けているものにコードを変更した後、私の目標は、それをFirebaseにも保存することですが、それは最初にプロフィール画像を取得した後になります。

+0

あなたはSwift 3? –

+0

グラフAPIを呼び出す必要があります。あなたはFacebookにユーザーをログインさせるために何を使用していますか? – dylanthelion

答えて

0

答えはスウィフト1.2

である私はあなたがこれを行うことができます参照hereを取っても

を実装:

// accessToken is your Facebook id 
func returnUserProfileImage(accessToken: NSString) 
{ 
    var userID = accessToken as NSString 
    var facebookProfileUrl = NSURL(string: "http://graph.facebook.com/\(userID)/picture?type=large") 

    if let data = NSData(contentsOfURL: facebookProfileUrl!) { 
     imageProfile.image = UIImage(data: data) 
    } 

} 

これは私がFacebookのIDを得た方法です。

func returnUserData() 
{ 
let graphRequest : FBSDKGraphRequest = FBSDKGraphRequest(graphPath: "me", parameters: nil) 
graphRequest.startWithCompletionHandler({ (connection, result, error) -> Void in 

    if ((error) != nil) 
    { 
     // Process error 
     println("Error: \(error)") 
    } 
    else 
    { 
     println("fetched user: \(result)") 

     if let id: NSString = result.valueForKey("id") as? NSString { 
      println("ID is: \(id)") 
      self.returnUserProfileImage(id) 
     } else { 
      println("ID es null") 
     } 


    } 
}) 
}