[안드로이드] 파이어베이스, 페이스북 연동 로그인을 구현할 때 이메일을 가져오지 못합니다
조회수 1179회
질문 하나만 부탁드립니다! 안드로이드 앱에서 페이스북 로그인 연동을 구현중인데요. 이메일 값이 파이어베이스 Authentication에 저장이 되질 않아서 이메일 값을 가져오지를 못하네요.
해당 코드입니다.
facebookLoginBtn = (LinearLayout) findViewById(R.id.facebook_login_btn);
callBackManager = CallbackManager.Factory.create();
LoginManager.getInstance().registerCallback(callBackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
handleFacebookAccessToken(loginResult.getAccessToken());
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
startActivity(intent);
finish();
}
@Override
public void onCancel() {
Toast.makeText(LoginActivity.this, "페이스북 로그인 하려다 말았다", Toast.LENGTH_LONG).show();
}
@Override
public void onError(FacebookException error) {
Toast.makeText(LoginActivity.this, "페이스북 로그인 개망", Toast.LENGTH_LONG).show();
}
});
facebookLoginBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
LoginManager.getInstance().logInWithReadPermissions(LoginActivity.this, permissionNeeds);
}
});
@Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); // facebook callBackManager.onActivityResult(requestCode, resultCode, data); }
private void handleFacebookAccessToken(AccessToken token) {
AuthCredential credential = FacebookAuthProvider.getCredential(token.getToken());
auth.signInWithCredential(credential)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
} else {
Toast.makeText(LoginActivity.this, "Authentication failed.",
Toast.LENGTH_SHORT).show();
}
// ...
}
});
}
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력