2015-04-04 71 views
-2

我的代碼可以用Facebook登錄,但我可以將信息,只有名字e姓,我想要電子郵件和facebookid。我怎麼弄到的?由於有來自Facebook的信息與swift?

class ViewController: UIViewController, FBLoginViewDelegate { 
@IBOutlet var fbLoginView : FBLoginView! 

override func viewDidLoad() { 
    super.viewDidLoad() 

    self.fbLoginView.delegate = self 
    self.fbLoginView.readPermissions = ["public_profile", "email", "user_friends"] 
} 
@IBOutlet weak var etichetta: UILabel! 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 

    // Dispose of any resources that can be recreated. 
} 
func loginViewShowingLoggedInUser(loginView : FBLoginView!) { 
    println("User Logged In") 
    println("This is where you perform a segue.") 
} 

func loginViewFetchedUserInfo(loginView : FBLoginView!, user: FBGraphUser){ //subito dopo 
    println("User birthday: \(user.birthday)")//not work is nil 
    println("User name: \(user.name)") 
    println("User username: \(user.objectID)")//not work is nil 
} 

func loginViewShowingLoggedOutUser(loginView : FBLoginView!) { 
    println("User Logged Out") 
} 

func loginView(loginView : FBLoginView!, handleError:NSError) { 
    println("Error: \(handleError.localizedDescription)") 
} 

回答

1

你必須提出請求

func loginViewFetchedUserInfo(loginView : FBLoginView!, user: FBGraphUser) { 

    FBRequestConnection.startForMeWithCompletionHandler { (connection, user, error) -> Void in 
    if (error == nil){ 
     self.email = user.objectForKey("email") as String //declare a var email before 
     self.userId= user.objectForKey("id") //declare a var userId before 
    } 
    } 
} 
+0

完美的作品來獲取電子郵件!謝謝 :) – damooo 2015-04-04 22:08:19