获取FBSDKLoginManagerLoginResult的电子邮件和姓名

sho*_*_sm 7 facebook ios swift

我使用Facebook自定义登录来获取用户的电子邮件和公开个人资料,但我只能得到这个.还有其他我错过的代码吗?大多数在线教程都是Obj-C或已经过时.我正在使用Swift进行这个项目.

RESULT: '<FBSDKLoginManagerLoginResult: 0x7fe6f8c1d510>' 
Run Code Online (Sandbox Code Playgroud)

这是我的自定义按钮的代码

let login = FBSDKLoginManager()
    login.logInWithReadPermissions(["email", "public_profile"]){ result, error in
        println("RESULT: '\(result)' ")

        if error != nil {
            println("error")
        }else if(result.isCancelled){
            println("result cancelled")
        }else{
            println("success")

        }
    }
Run Code Online (Sandbox Code Playgroud)

Dhe*_*ngh 17

使用FBSDKGraphRequest获取用户信息.

let login = FBSDKLoginManager()
    login.logInWithReadPermissions(["email", "public_profile"]){ result, error in
        println("RESULT: '\(result)' ")

        if error != nil {
            println("error")
        }else if(result.isCancelled){
            println("result cancelled")
        }else{
            println("success Get user information.")

            var fbRequest = FBSDKGraphRequest(graphPath:"me", parameters: nil);
        fbRequest.startWithCompletionHandler { (connection : FBSDKGraphRequestConnection!, result : AnyObject!, error : NSError!) -> Void in

            if error == nil {

                println("User Info : \(result)")
            } else {

                println("Error Getting Info \(error)");

            }
        }
        }
    }
Run Code Online (Sandbox Code Playgroud)

  • 我找到了解决方案:不是传递参数:nil,我们需要提到我们需要的每个字段:参数:["fields":"id,about,birthday,email,gender,name,picture"]在FBSDKGraphRequest中 (2认同)