2016-04-07 22 views
0

Güncel uygulama için sorun alıyorum. OAuth2.0'ım SHA1, sürüm dosyasının anahtar deposu dosyasında doğru ve üretildi. Sorunum, onActivityResult üzerinde her zaman resultCode = 0 alıyorum. Amacımın değerini yazdırdım ve aşağıdaydım: googleSignInStatus = Durum {statusCode = INTERNAL_ERROR, resolution = null} Ancak, hata ayıklama modunda çalıştırırsam, oturum açma işlemi mükemmel bir şekilde çalışıyor ve bu durumun amacı: googleSignInAccount = com .google.android.gms.auth.api.signin.GoogleSignInAccount @ 31976389]Google oturum açma sürümü üzerinde çalışmıyor android

Bu sorunu nasıl çözeceğini bilen var mı? NOT: Bir gönderi bulduğum bir yerde, E-posta ve Proje adını OAuth Contest Screen'e koymanızı öneririz; Bunu zaten denedim ve hala çalışmıyor.

+0

olsun SHA1 tuşu çıkıntısız> api konsolunda SHA1 anahtarı ekleyin. cheers – Aks4125

+0

Cevabınız için teşekkür ederiz. Fakat daha önce de belirttiğim gibi, SHA1 sürümünün anahtarı api konsolundaydı. – silwalprabin

cevap

1

Açıktır ki, ilk önce sha1 anahtarınızın doğru olup olmadığını kontrol edin. Ama burada sorun farklıydı. Yeni google oyun hizmetleri kullanıyorum (i.e.compile 'com.google.android.gms: play-services: 8.4.0'). Ve sorun, GoogleSignInOption nesnesini değiştirerek çözülebilir. yerine:

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) 
        .requestEmail() 
     .requestIdToken("YOUR_WEB_API_ID.apps.googleusercontent.com") 
        .build(); 

kullandığım:

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) 
       .requestScopes(new Scope(Scopes.PLUS_LOGIN)) 
       .requestScopes(new Scope(Scopes.PLUS_ME)) 
       .requestEmail() 
       .build(); 

Bu hatayı statusCode = INTERNAL_ERROR dönen çözer. aşağıda gösterildiği gibi O zaman bu gso nesne GoogleApiClient oluşturmak için kullanılabilir: serbest bırakılması için

mGoogleApiClient = new GoogleApiClient.Builder(this) 
       .enableAutoManage(this, this) 
       .addApi(Auth.GOOGLE_SIGN_IN_API,gso) 
       // .addApi(Plus.API, null) 
       .addConnectionCallbacks(this) 
       .addOnConnectionFailedListener(this) 
       // .addScope(Plus.SCOPE_PLUS_LOGIN) 
       .build();