Here is my error screenshot Hello I am trying to login with Google and Facebook but it gives error. com.google.firebase.auth.FirebaseAuthException: This operation is not allowed. You must enable this service in the console. How to solve this error? Do I have also enable the services on firebase how to solve this problem? here is my code
public class LoginActivity extends AppCompatActivity implements
GoogleApiClient.OnConnectionFailedListener,
View.OnClickListener {
private Button btn_sign_up_login, btn_login, btn_gmail_login, btn_facebook_login;
private ProgressBar pb_sign_up_login, pb_login;
private FirebaseAuth.AuthStateListener mAuththenticatelistner;
private GoogleApiClient mGoogleapiclient;
public static final int RC_GOOGLE_LOGIN = 1;
private FirebaseAuth mAuth;
CallbackManager callbackManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
btn_sign_up_login = (Button) findViewById(R.id.btn_sign_up_login);
callbackManager = CallbackManager.Factory.create();
btn_login = (Button) findViewById(R.id.btn_login);
btn_gmail_login = (Button) findViewById(R.id.btn_gmail_login);
btn_facebook_login = (Button) findViewById(R.id.btn_facebook_login);
pb_login = (ProgressBar) findViewById(R.id.pb_login);
///////////////////////////code for facebook login
// Initialize Facebook Login button
callbackManager = CallbackManager.Factory.create();
LoginButton loginButton = (LoginButton) findViewById(R.id.btn_facebook_login);
loginButton.setReadPermissions("email", "public_profile");
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
handleFacebookAccessTokens(loginResult.getAccessToken());
}
@Override
public void onCancel() {
// [START_EXCLUDE]
updateUI(null);
// [END_EXCLUDE]
}
@Override
public void onError(FacebookException error) {
// [START_EXCLUDE]
updateUI(null);
// [END_EXCLUDE]
}
});
// Configure Google Sign In
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken(getString(R.string.web_api_client_id))
.requestEmail()
.build();
mGoogleapiclient = new GoogleApiClient.Builder(this)
.enableAutoManage(this /* FragmentActivity */, this /* OnConnectionFailedListener */)
.addApi(Auth.GOOGLE_SIGN_IN_API, gso)
.build();
mAuth = FirebaseAuth.getInstance();
btn_sign_up_login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(LoginActivity.this, SignUpActivity.class));
}
});
btn_gmail_login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
signIn();
}
});
btn_facebook_login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
}
private void signIn() {
Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleapiclient);
startActivityForResult(signInIntent, RC_GOOGLE_LOGIN);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
// Result returned from launching the Intent from GoogleSignInApi.getSignInIntent(...);
if (requestCode == RC_GOOGLE_LOGIN) {
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
if (result.isSuccess()) {
// Google Sign In was successful, authenticate with Firebase
GoogleSignInAccount account = result.getSignInAccount();
firebaseAuthWithGoogle(account);
} else {
// Google Sign In failed, update UI appropriately
// ...
}
}
}
// [START auth_with_google]
private void firebaseAuthWithGoogle(GoogleSignInAccount acct) {
AuthCredential credential = GoogleAuthProvider.getCredential(acct.getIdToken(), null);
mAuth.signInWithCredential(credential)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
// Sign in success, update UI with the signed-in user's information
FirebaseUser user = mAuth.getCurrentUser();
updateUI(user);
startActivity(new Intent(LoginActivity.this, DrawerActivity.class));
finish();
} else {
// If sign in fails, display a message to the user.
Toast.makeText(LoginActivity.this, "Authentication failed.",
Toast.LENGTH_SHORT).show();
updateUI(null);
}
}
});
}
@Override
public void onStart() {
super.onStart();
// Check if user is signed in (non-null) and update UI accordingly.
FirebaseUser currentUser = mAuth.getCurrentUser();
}
@Override
public void onClick(View view) {
}
@Override
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
Toast.makeText(this, "Google Play Services error.", Toast.LENGTH_SHORT).show();
}
@Override
public void onPointerCaptureChanged(boolean hasCapture) {
}
private void updateUI(FirebaseUser user) {
if (user != null) {
String mailid = (getString(R.string.google_status_fmt, user.getEmail()));
String idfor = (getString(R.string.firebase_status_fmt, user.getUid()));
} else {
}
}
// [START auth_with_facebook]
private void handleFacebookAccessTokens(AccessToken token) {
// [END_EXCLUDE]
AuthCredential credential = FacebookAuthProvider.getCredential(token.getToken());
mAuth.signInWithCredential(credential)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
// Sign in success, update UI with the signed-in user's information
FirebaseUser user = mAuth.getCurrentUser();
updateUI(user);
} else {
// If sign in fails, display
Toast.makeText(LoginActivity.this, "Authentication failed.",
Toast.LENGTH_SHORT).show();
updateUI(null);
}
// [START_EXCLUDE]
// [END_EXCLUDE]
}
});
}
// [END auth_with_facebook]
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.