1
我正在使用Firebase的Facebook登錄來驗證用戶身份。我不得不將我的項目升級到Firebase 3.x,因此我不得不改變這一點。例如,我通過user!.displayName
和'photoUrl'獲得'全名',例如user!.photoUrl
;但即使設置了「電子郵件」範圍,也無法使用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的我也嘗試了多個Facebook帳戶,但沒有運氣。可能是什麼問題?
哇!好地方!非常感謝! – senty
沒有問題!快樂的編碼! – Sparq
這解決了我的問題!謝謝! –