Google устарел с Google Drive Android API.
Мы переходим на Google Drive REST API (v3).
2 года назад у нас есть опыт использования Google Drive REST API (v2).Мы знаем, что для правильной работы GoogleAuthUtil.getToken()
требуется разрешение GET_ACCOUNTS
- Google Drive API - имя не должно быть пустым: null (но я передал действительное имя учетной записи в GoogleAccountCredential)
Когда мы смотрим на пример Google Drive REST API (v3) - https://github.com/gsuitedevs/android-samples/blob/master/drive/deprecation/app/src/main/AndroidManifest.xml#L5, мы замечаем, что команда Google явно упоминает
<!-- Permissions required by GoogleAuthUtil -->
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
Удивительно, когда мы запускаем пример приложения (https://github.com/gsuitedevs/android-samples/tree/master/drive/deprecation), для Android 6 и 8 нет всплывающих диалоговых окон с правами доступа. Тем не менее, приложение может работать без проблем.
Мы ожидаем, что приложение не будет работать, так как нет GET_ACCOUNTS
разрешение было предоставлено приложению, однако оно по-прежнему может выполнять аутентификацию и связь со службой Google Drive без проблем.
Это то, что я тестировал до сих пор
Я тестировал в Android 5, Android 6 и Android 8. Нет времени выполнения GET_ACCOUNTS
разрешение не предоставляется для Android 6 и Android 8.
Я также продолжаю тестирование, полностью удалив GET_ACCOUNTS
и MANAGE_ACCOUNTS
из Manifest.Тем не менее, Android 5, Android 6 и Android 8 работоспособны.Перед запуском у меня есть чистый кэш и свободное хранилище приложения.
Итак, для работы Google Drive REST API все еще требуется GET_ACCOUNTS
запрос на разрешение?