5

Używam poniższych wierszy kodu do integracji Androida z logowaniem G +.Kod statusu 12501 uwierzytelniający z logowaniem google

w APP build.gradle:

compile 'com.google.android.gms:play-services-auth:8.4.0' compile 'com.google.android.gms:play-services-plus:8.4.0'

W główną działalność:

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) 
        .requestEmail() 
        .requestIdToken("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.com") 
        .requestProfile() 
        .build(); 

      AppCompatActivity appCompatActivity = (AppCompatActivity) context; 

      googleApiClient = new GoogleApiClient.Builder(context) 
        .enableAutoManage(appCompatActivity, this) 
        .addConnectionCallbacks(this) 
        .addApi(Auth.GOOGLE_SIGN_IN_API, gso) 
        .addApi(Plus.API) 
        .build(); 

Dodałem też mieć plik "google-services.gson" na poziomie aplikacji. Zrobiłem również aplikację internetową i użyłem ID klienta dla parametru requestIdToken().

requestIdToken (identyfikator klienta aplikacji internetowej).

Po napisaniu tego kodu nadal otrzymuję kod stanu = 12501 w odpowiedzi i tokenId = null.

Przeczytałem również this link. Ale nie mogę znaleźć żadnego rozwiązania.

+0

Znaleźliśmy rozwiązanie w [tym poście] (http://stackoverflow.com/questions/ 33583326/new-google-sign-in-android) – Kaizie

Odpowiedz

11

Trzeba dodać poświadczenia zarówno Podpisaną i debugowania client_id w pliku google-services.json jak ten:

"oauth_client": [ 
    { 
    "client_id": "<your-client-id>", 
    "client_type": 1, 
    "android_info": { 
     "package_name": "<your-package-name>", 
     "certificate_hash": "<hash>" 
    } 
    }, 
    { 
    "client_id": "<your-client-id-2>", 
    "client_type": 1, 
    "android_info": { 
     "package_name": "<your-package-name-2>", 
     "certificate_hash": "<hash-2>" 
    } 
    } 
] 
+0

Usługi Google mają już identyfikator klienta Android. – Akashsingla19

+0

Edytowałem swoją odpowiedź. Proszę sprawdzić. – gerardnimo

+0

Możesz również dwukrotnie sprawdzić używane ID klienta i możliwe niedopasowanie w nazwie pakietu. Nie jestem pewien, czy to [odniesienie] (https://developers.google.com/android/reference/com/google/android/gms/auth/api/signin/GoogleSignInStatusCodes#constants) pomoże, ale ja " I tak go wkleję. – gerardnimo