Я пытаюсь получить информацию через facebook sdk, но до сих пор я получаю только идентификатор и имя пользователя, хотя я уверен, что есть доступная электронная почта, так как это моя учетная запись. Я смотрел несколько ответов здесь, но никто из них не решил мою проблему до сих пор. Что я делаю неправильно, и почему он не возвращает больше данных, поскольку я запрашиваю несколько разрешений?
Вот мой код:
fbLoginManager.logInWithReadPermissions(["public_profile", "email", "user_friends", "user_about_me", "user_birthday"], handler: { (result, error) -> Void in
if ((error) != nil)
{
// Process error
println("There were an error: \(error)")
}
else if result.isCancelled {
// Handle cancellations
fbLoginManager.logOut()
}
else {
var fbloginresult : FBSDKLoginManagerLoginResult = result
if(fbloginresult.grantedPermissions.contains("email"))
{
println(fbloginresult)
self.returnUserData()
}
}
})
И функция для получения пользовательских данных:
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 userName : NSString = result.valueForKey("name") as? NSString {
println("User Name is: \(userName)")
}
if let userEmail : NSString = result.valueForKey("email") as? NSString {
println("User Email is: \(userEmail)")
}
}
})
}
Что возвращает:
fetched user: {
id = 55555555;
name = "Kali Aney";
}
User Name is: Kali Aney