FBSDK登录不打印电子邮件

时间:2016-11-26 05:25:08

标签: ios swift firebase fbsdkloginkit

我正在使用Firebase实现FBSDK登录按钮,并尝试从graphRequest中检索电子邮件信息,但由于某种原因,它不会打印电子邮件。以下是我的代码

override func viewDidLoad() {
    super.viewDidLoad()
    self.FBLoginButton.delegate = self
    self.FBLoginButton.readPermissions = ["email"]
    FBSDKProfile.enableUpdates(onAccessTokenChange: true)

}

func loginButton(_ loginButton: FBSDKLoginButton!, didCompleteWith result: FBSDKLoginManagerLoginResult!, error: Error!) {
    if let error = error {
        print(error.localizedDescription)
        return
    }

    let credential = FIRFacebookAuthProvider.credential(withAccessToken: FBSDKAccessToken.current().tokenString)

    FIRAuth.auth()?.signIn(with: credential) { (user, error) in
        if let error = error {
            print(error.localizedDescription)
            return
        }
        print("User \(user)")

        let graphRequest : FBSDKGraphRequest = FBSDKGraphRequest(graphPath: "me", parameters: ["fields":"email,name"])

        graphRequest.start(completionHandler: { (connection, result, err) in
            if err != nil {
                print(err!)
                return
            }

            print(result)

        })

        self.performSegue(withIdentifier: "ToFirstView", sender: self)

    }
}

打印结果显示,没有打印电子邮件:

Optional({
    id = 1233455667;
    name = "the name"; 
})

我的AppDelegate是这样的:

func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {

        return FBSDKApplicationDelegate.sharedInstance().application(application, open: url, sourceApplication: sourceApplication, annotation: annotation)
    }

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {

        return FBSDKApplicationDelegate.sharedInstance().application(
            app,
            open: url as URL!,
            sourceApplication: options[UIApplicationOpenURLOptionsKey.sourceApplication] as! String,
            annotation: options[UIApplicationOpenURLOptionsKey.annotation]
        )
    }

我的目的是检索名称和电子邮件,以便在Firebase上填充我的数据库。我采用了叠加溢出时显示的大多数解决方案,但似乎对我来说不太适用。感谢有人能指出我正确的方向。

0 个答案:

没有答案