2012-12-21 2 views
7

Letzter Tag begann ich zu empfangen „ein interner Fehler aufgetreten“ beim Versuch, unterzeichnen Benutzer mit Google Plus in meiner Anwendung, die ich gut genutzt und haben sich nicht geändert. Der Code hat sich lange nicht geändert.Google Plus Client „ist ein interner Fehler aufgetreten“

GmsClient kehrt

connect: bindService returned true for Intent { act=com.google.android.gms.plus.service.START } 
service broker connected, binder: [email protected] 

Und direkt danach zeigt Toast Meldung "Ein interner Fehler ist aufgetreten".

Ich habe versucht, Google SDK + -Proben zu kompilieren und auf demselben Gerät auszuführen, aber es zeigt den gleichen Fehler. Vielleicht etwas verändert in Google APIs?

Antwort

5

Dies ist zu dumm, aber ich habe keine Informationen googeln Internet und Gruppen gefunden. Aber es gelöst zu ersetzen:

//static final String[] SCOPES = new String[] { Scopes.PLUS_PROFILE, PLUS_WRITE_MOMENT }; 
static final String[] SCOPES = new String[] { Scopes.PLUS_PROFILE }; 

scheint der Fehler wegen PLUS_WRITE_MOMENT aufgetreten ... Ich verstehe nicht, warum, aber ohne dass dies funktioniert.

Ich mag Google ...

+4

Ich habe den gleichen Fehler, aber kann nicht den Weg, wo die Lösung von der Antwort zu setzen? –

+1

Hinweis: Diese Antwort ist nach der Google+ Sign-In-Version und den neuen SDKs am 28. Februar nicht mehr aktuell. – BrettJ

1

ich dieses Problem auch hatte, die aus dem Nichts scheinbar plötzlich erschien. Leider hat Olegs Antwort mir nicht geholfen.

Das Problem für mich war, OAuth in der Google APIs-Konsole (https://code.google.com/apis/console) einzurichten. Es war sehr einfach einzurichten. Quickstart Anweisungen hier: https://developers.google.com/+/quickstart/android.

Wenn ich das Projekt erste Zugang arbeitete die Simple API erstellt. Aber innerhalb eines Monats, in dem kein Code geändert wurde, war es nicht genug.

10

Meine "interner Fehler auftritt" Lösung:

die Demo Folgen von https://developers.google.com/+/mobile/android/getting-started

den PlusClient von

mPlusClient = new PlusClient.Builder(this, this, this) 
       .setVisibleActivities("XXXX/AddActivity", "XXXX/BuyActivity") 
       .setScopes("PLUS_LOGIN") // Space separated list of scopes 
       .build(); 

Und in meinem eigenen App erstellen, wenn ich „.setScopes entfernen ("PLUS_LOGIN") "und anzeigen als:

mPlusClient = new PlusClient.Builder(this, this, this) 
     .setVisibleActivities("XXXX/AddActivity", "XXXX/BuyActivity") 
     .build(); 

Der Fehler ist behoben, verdrahtet!

+0

Und donot vergessen hinzufügen "" Erlaubnis – Door

1

Meine Erfahrung/Lösung:

Ich habe versucht, alles oben aufgeführt (Überprüfung Client-ID, Zustimmung Bildschirm, Bereiche zu ändern, etc.). Nichts hat das Problem für mich dauerhaft gelöst.

Wenn ich die detaillierten adb Protokolle mit diesem Artikel angesehen:

adb shell setprop log.tag.GooglePlusPlatform VERBOSE 

bekam ich folgendes Protokoll:

I/GLSUser ( 854): GLS error: BAD_REQUEST [email protected] oauth2:profile https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/plus.me https://www.googleapis.com/auth/contacts.readonly 

Schließlich, was das Problem ist gelöst wurde von PlusClient bewegt (was veraltet ist) zu GoogleApiClient verwenden.

Die Migration ist ziemlich einfach (hier schön erklärt: http://www.riskcompletefailure.com/2014/02/migrating-from-plusclient-to.html).

Nach dem Umstieg auf GoogleApiClient, habe ich diesen Fehler nie wieder erhalten.