Używam tej metody do dopuszczonego do Dysku Google: https://developers.google.com/drive/quickstart-androidGoogleAccountCredential ponowne auth - Dysk Google
Wybierając konto działa świetnie. Teraz chcę przechowywać referencje użytkownika w prefs. Mogę zapisać nazwę konta, a następnie ją resore. Chcę ponownie użyć referencji do przyszłego użytku.
Czy można ponownie skorzystać z Usług Google Play i GoogleAccountCredential?
To jest mój scenariusz:
- StartActivity
- Szukaj savedCredentials
- Jeśli nie -> show Wybór konta (to działa)
- Jeśli wybiorę konto - saveCredentians do preferencji użytkownika.
Teraz zamykam aplikację i ponownie biegam.
- StartActivity
- Szukaj savedCredentials
- TAK - tam są zapisane poświadczenia. Chcę ich użyć.
Próbuję coś takiego:
credential = GoogleAccountCredential.usingOAuth2(GoogleDriveBackup.this, DriveScopes.DRIVE_FILE);
//use saved account (stored[0] is OK)
credential.setSelectedAccountName(stored[0]);
credential.getToken();
service = getDriveService(credential);
Gdzie:
private Drive getDriveService(GoogleAccountCredential credential) {
return new Drive.Builder(AndroidHttp.newCompatibleTransport(),
new GsonFactory(), credential).build();
}
To nie działa. Otrzymuję 500 błędów serwera wewnętrznego od GoogleJsonResponseExcelption. Jaki jest najlepszy sposób na to, korzystając z Usług Google Play na Androida.
Problem polegał na: DriveScopes.DRIVE_FILE. Zmieniłem DriveScopes.DRIVE_FILE na DRIVE, a teraz wszystko działa poprawnie. Nie wiem, czy to błąd usług Play. – adek