Получение доступа к API Google и исключение UserRecoverableAuthIOException - PullRequest
0 голосов
/ 27 сентября 2018

Я использую GMail API.
В настоящее время я запрашиваю разрешение GET_ACCOUNTS, и после этого я пытаюсь отправить какое-то "тестовое" электронное письмо.

Если пользователь впервые, скорее всего, будет выдано исключение UserRecoverableAuthIOException, и я буду использовать его намерение для запроса его одобрения.

Можно ли проверить это перед попыткой отправки и избежать получения исключения?
Что-то вроде 'check_permission'?

1 Ответ

0 голосов
/ 27 сентября 2018

Вы можете обратиться к этому сообщению относительно UserRecoverableAuthIOException: API-накопителей Android: получение Sys.err UserRecoverableAuthIOException, если я объединю код с другими проектами

Вы должны поймать UserRecoverableAuthException и в блоке catch вы восстанавливаете Intent из исключения, вызывая UserRecoverableAuthException#getIntent().Запустите это намерение, чтобы перевести пользователя на страницу разрешений OAuth2 для вашего приложения.

Пример кода -

try {
    Drive service = Drive.Builder(AndroidHttp.newCompatibleTransport(), new GsonFactory(), credential)
        .build();
    // Do whatever you want with the Drive service
} catch (UserRecoverableAuthIOException e) {
    startActivityForResult(e.getIntent(), REQUEST_AUTHORIZATION);
}
...