аутентификация одной учетной записи Google для API нескольких данных Google в Android - PullRequest
5 голосов
/ 24 января 2012

Привет энтузиаст андроида, я изо всех сил пытаюсь найти решение этой проблемы.Я планирую получить доступ к Календарю пользователя Google и Документам Google (используя google-api-java-client-v1.6.0).Я могу получить доступ к учетной записи Google пользователя через AccountManager, но я не ошибся при запросе authToken для аутентификации пользователя по этой причине:

Как я буду обрабатывать несколько запросов authToken для Документов и Cal в одном действии, когдапользователь подтверждает приложение для доступа к своим учетным записям Google?

В моем приложении Google Docs и Cal находятся на разных вкладках, работающих в фоновом режиме, в тот момент, когда пользователь разрешает доступ к учетной записи пользователя.

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

TYIA.

1 Ответ

2 голосов
/ 24 февраля 2012

Если я вас правильно интерпретирую, вам интересно, как справиться с тем, что вам нужен один authToken для Календаря и один authToken для Документов?

Глядя на пример примера кода для использования клиентских библиотек , не могли бы вы сделать что-то вроде этого:

private final static String CAL_AUTH_TOKEN_TYPE = "cl";
private final static String DOCS_AUTH_TOKEN_TYPE = "writely"; // Not sure this is correct

// This will ask the user for permissions the first time
Bundle docsBundle = manager.getAuthToken(account, DOCS_AUTH_TOKEN_TYPE, true, null, null);
Bundle calBundle = manager.getAuthToken(account, CAL_AUTH_TOKEN_TYPE, true, null, null);

// Do whatever syncing you need
doWork(docsBundle, calBundle);

Когда вы сделаете это в первый раз, пользователь получит всплывающее окно, запрашивающее доступ к его календарю. После подтверждения появится другое всплывающее окно с запросом разрешения для документов. После получения подтверждения всплывающие окна больше не появляются (если пользователь не может переустановить ваше приложение). Так что я не думаю, что вам нужно беспокоиться ни о чем Просто убедитесь, что вы пытаетесь получить authTokens в первый раз в вашем UI-потоке, а не в фоновом процессе. В фоновом режиме всплывающее окно не появится.

...