Как заменить класс AuthorizationCodeInstalledApp? - PullRequest
1 голос
/ 24 марта 2019

Я пытаюсь запустить пример кода из Google Quickstart для Java на эмуляторе Android, но код попадает в эту строку

return new AuthorizationCodeInstalledApp(flow, receier).authorize("user");

Оказалось, что Android не поддерживаетКласс AuthorizationCodeInstalledApp, поэтому вам нужно вручную перехватить URL-адрес для авторизации, открыть его в браузере и затем поместить результат в объект Credential.Я знаком с Java поверхностно, поэтому не знаю, как мне это реализовать.

Подскажите, пожалуйста, как это можно сделать?

1 Ответ

0 голосов
/ 25 марта 2019

Из этого потока Charan M использует этот фрагмент кода для получения учетных данных и обслуживания:

mCredential = GoogleAccountCredential.usingOAuth2(getApplicationContext(), Arrays.asList(SCOPES)).setBackOff(new ExponentialBackOff());
HttpTransport transport = AndroidHttp.newCompatibleTransport();
JsonFactory jsonFactory = JacksonFactory.getDefaultInstance();
mService = new com.google.api.services.gmail.Gmail.Builder(
        transport, jsonFactory, credential)
        .setApplicationName(mContext.getResources().getString(R.string.app_name))
        .build();

Обратите внимание, что вы не можете запустить этот код в главном потоке, посколькуэто включает в себя сетевые операции.Они также предоставили проект github в качестве руководства по интеграции, в их случае, Gmail API в их проект Android.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...