No Swift, como recuperar o nome e outros dados ao fazer login no Facebook e Parse no FBSDK
Não é possível obter o nome ou o email do usuário ao fazer login no Facebook via Parse. Eu deveria ter definido tudo corretamente no AppDelegate.
Quando faço login com meu email, minha classe de usuário funciona e pode usar os dados com os quais me registrei. Quando tento fazer login via Facebook, recebi apenas a longa sequência alfanumérica como nome de usuário e parei. Gostaria de recuperar o nome, foto, nascimento e cidade.
No meu arquivo User.swift, esqueci o seguinte:
import Foundation
struct User
{
let username : String
let address : String
}
Este é o meu botão de login:
@IBAction func facebookLoginAction(sender: UIButton)
{
PFFacebookUtils.logInInBackgroundWithReadPermissions(["public_profile", "user_about_me", "user_birthday"]) {
(user: PFUser?, error: NSError?) -> Void in
if let user = user
{
if user.isNew
{
println("User signed up and logged in through Facebook!")
}
else
{
println("User logged in through Facebook!")
}
self.dismissViewControllerAnimated(true, completion: nil)
}
else
{
println("Uh oh. The user cancelled the Facebook login.")
}
}
}
tentei isso também, mas não funciona:
func getUserInfo() {
// if let session = PFFacebookUtils.session() {
if let session = PFFacebookUtils.facebookLoginManager() {
if session.isOpen {
println("session is open")
FBRequestConnection.startForMeWithCompletionHandler({ (connection: FBRequestConnection!, result: AnyObject!, error: NSError!) -> Void in
//println("done me request")
if error != nil {
println("facebook me request - error is not nil :(")
} else {
println("facebook me request - error is nil :) ")
let urlUserImg = "http://graph.facebook.com/\(result.objectID)/picture?type=large"
let firstName = result.first_name
let lastName = result.last_name
}
})
}
} else {
//let user:PFUser = PFUser.currentUser()
//println("ohooo \(user)")
}
}
desde já, obrigado