Firebase의 Facebook 로그인을 사용하여 사용자를 인증하고 있습니다. 필자는 프로젝트를 Firebase 3.x로 업그레이드해야하므로이 비트를 변경해야했습니다. 나는 예를 들면 와 함께 user!.displayName
와 'photoUrl'로 'fullname'을 얻는 것을 얻었다. '이메일'범위가 설정되어 있어도 user!.email
으로 이메일에 액세스 할 수 없습니다.Facebook에서 인증 된 사용자로부터 이메일을받을 수 없습니다.
@IBAction func facebookLoginDidTouch(sender: AnyObject) {
let facebookLogin = FBSDKLoginManager()
facebookLogin.logInWithReadPermissions(["public_profile", "email"], fromViewController: self, handler: {
(facebookResult, facebookError) -> Void in
if facebookError != nil {
print("Facebook login failed. Error \(facebookError)")
} else if facebookResult.isCancelled {
print("Facebook login was cancelled.")
} else {
let credential = FIRFacebookAuthProvider.credentialWithAccessToken(FBSDKAccessToken.currentAccessToken().tokenString)
FIRAuth.auth()?.signInWithCredential(credential) { (user, error) in
if error != nil {
print("Login failed. \(error)")
} else {
print("Logged in!")
print(user!.displayName) // works
print(user!.photoUrl) // works
print(user!.email) // returns nil
}
})
}
나는 그것이 잘 이메일을 가져 오기 위해 사용했기 때문에 나는 3.x에서를 중포 기지로 업그레이드하기 전에 이메일이 유효 확신 나도 여러 페이스 북 계정을 시도했지만 운이 없었다. 무엇이 문제일까요?
와우! 좋은 장소! 고마워요! – senty
No prob! 행복한 코딩! – Sparq
내 문제를 해결합니다! 고마워! –