2012-12-21 20 views
7

Ostatniego dnia zacząłem otrzymywać komunikat "Wystąpił błąd wewnętrzny" podczas próby podpisania użytkownika z Google Plus w mojej aplikacji, którą dobrze wykorzystałem i którego nie zmieniłem. Kod nie zmienił się od dłuższego czasu.Google plus klient "Wystąpił błąd wewnętrzny"

GmsClient powraca

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

A zaraz potem pokazuje komunikat tost "Wystąpił błąd wewnętrzny".

Próbowałem skompilować próbki Google SDK + i uruchomić na tym samym urządzeniu, ale pokazuje ten sam błąd. Może coś zmieniło się w Google API?

Odpowiedz

5

To jest zbyt głupie, ale nie znalazłem żadnej informacji w Internecie i grupach. Ale to rozwiązać zastępując:

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

Wydaje się, że błąd z powodu PLUS_WRITE_MOMENT ... Nie rozumiem dlaczego, ale bez tego to działa.

Lubię google ...

+4

Mam ten sam błąd, ale nie mogę zrobić tego, aby naprawić odpowiedź. –

+1

FYI: ta odpowiedź jest teraz nieaktualna po wydaniu z Google+ i nowymi pakietami SDK, które miały miejsce 28 lutego. – BrettJ

1

miałem również ten problem, który nagle pojawił się znikąd pozornie. Niestety, odpowiedź Olega nie pomogła mi.

Naprawiono dla mnie konfigurację OAuth w konsoli Google APIs (https://code.google.com/apis/console). Konfiguracja była bardzo łatwa. Instrukcje Szybki start tutaj: https://developers.google.com/+/quickstart/android.

Po utworzeniu projektu działał program Simple API Access. Ale w ciągu miesiąca od niezmieniania jakiegokolwiek kodu, to nie wystarczyło.

10

mój "błąd wewnętrzny wystąpić" rozwiązanie:

Śledź demo https://developers.google.com/+/mobile/android/getting-started

stworzy PlusClient przez

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

I w moim app, gdy usunę”.setScopes ("PLUS_LOGIN") "i pokaż jako:

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

Błąd rozwiązany, podłączony!

+0

I donot forget dodaj "" uprawnienie – Door

1

Moje doświadczenie/rozwiązanie:

Próbowałem wszystkiego wymienionego powyżej (sprawdzanie identyfikatora klienta, ekran zgody, zmiana zakresów, itd.). Nic nie rozwiązało dla mnie problemu na stałe.

Kiedy oglądany szczegółowe ADB logi za pomocą tego:

adb shell setprop log.tag.GooglePlusPlatform VERBOSE 

mam następujący protokół:

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 

Wreszcie, co nie rozwiązuje problemu poruszał się z PlusClient (co jest przestarzałe) do korzystania z GoogleApiClient.

Migracja jest dość prosta (ładnie wyjaśniono tutaj: http://www.riskcompletefailure.com/2014/02/migrating-from-plusclient-to.html).

Po przeniesieniu do GoogleAiClient, nigdy więcej nie wystąpił ten błąd.

Powiązane problemy