Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

statusCode=DEVELOPER_ERROR in google login

Below code I am using for Google login.I added google-services.json file in the app folder.I am using classpath 'com.google.gms:google-services:2.0.0' in root gradle module.I have checked my package at developer console and its correct and I added SHA1 key which i got by running command keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android on terminal(i am using ubuntu).I have enable Google+ API.I have created OAuth consent screen andOAuth client id.Still i get below error when i try to login with google-

{statusCode=DEVELOPER_ERROR, resolution=null}

I check similar question but couldn't find appropriate solution. Code

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN).requestProfile().requestId()
            .requestEmail().requestScopes(new Scope(Scopes.PLUS_ME))
            .requestScopes(new Scope(Scopes.PLUS_LOGIN))
            .build();
    mGoogleApiClient = new GoogleApiClient.Builder(this)
            .enableAutoManage(this, this /* OnConnectionFailedListener */)
            .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
            .build();

    googleButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
    Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
    startActivityForResult(signInIntent, RC_SIGN_IN);

    }
    });

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == RC_SIGN_IN) {
            GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
            handleSignInResult(result);
        } 
    }
    private void handleSignInResult(GoogleSignInResult result) {
        if (result.isSuccess()) {
            // Signed in successfully, show authenticated UI.
            GoogleSignInAccount acct = result.getSignInAccount();

        } else {
            // Signed out, show unauthenticated UI.
            // updateUI(false);
        }
    }
    @Override
    protected void onStart() {
        super.onStart();
        mGoogleApiClient.connect();
    }
    @Override
    protected void onStop() {
        super.onStop();
        if(mGoogleApiClient.isConnected())
        {
            mGoogleApiClient.disconnect();
        }
    }
    @Override
    protected void onResume() {
        super.onResume();
        if(mGoogleApiClient.isConnected())
        {
            mGoogleApiClient.connect();
        }
    }

Manifest

<uses-permission android:name="android.permission.INTERNET" />
   <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <!-- To use account credentials -->
    <uses-permission android:name="android.permission.USE_CREDENTIALS" />
  <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />
like image 476
Android Developer Avatar asked May 24 '16 18:05

Android Developer


3 Answers

It's likely that your issue is in that you picked the SHA1 from the ~/.android/debug.keystore, but not using it to sign your build.

  1. Go to the module options Signing tab and add a profile with the only field Store File set to /Users/<your_user>/.android/debug.keystore

  2. On the Flavors tab pick it in the Signing Config drop-down.

  3. On the Build Types tab pick it in the Signing Config drop-down for your build type (likely to be Debug).

  4. Cleanup and rebuild.

like image 53
Aleksey Gureiev Avatar answered Nov 18 '22 03:11

Aleksey Gureiev


If you are working in two computer different, you have to generate the SHA1 again and add to console.firebase.google.com, download the google-service.json and add in your project

like image 5
Moises Apaza Q Avatar answered Nov 18 '22 04:11

Moises Apaza Q


I have same problem and this solution has worked. Hope this will help you and others.

Apply the plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.3"
    defaultConfig {

Make Sure this applicationId is same as your package name in Manifest file (Upper case and lower case matters)

        applicationId "com.example" 
        minSdkVersion 17
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
like image 5
Ravi Vaniya Avatar answered Nov 18 '22 05:11

Ravi Vaniya