Как запросить токен авторизации для нескольких сервисов с помощью AccountManager?

Можно ли запросить токен аутентификации с помощью AccountManager для более чем одной службы одновременно?

В основном мне нужен доступ как к API Google Docs (запись), так и к API электронных таблиц (мудро).

Я пробовал с пробелом («грамотно писать») и с запятой («грамотно, мудро»), но, похоже, это не работает ни с тем, ни с другим.

Отсюда (http://code.google.com/p/google-api-java-client/wiki/Android) Я знаю, что для OAuth 2.0 можно использовать пробел, но API Google Docs использует ClientLogin и там ничего не упоминается.

Если мне нужно запросить токен аутентификации для каждой службы отдельно, как лучше всего это сделать? Нужно ли мне аннулировать токен каждый раз, когда мне нужно сменить услугу?

Единственное, что мне нужно от API электронных таблиц, — это возможность экспортировать электронную таблицу в формате CSV. Все остальное, что мне нужно, можно сделать с помощью Docs API.


person nunof    schedule 11.01.2012    source источник


Ответы (1)


Экспериментируя с API электронных таблиц, я задался тем же вопросом. Я начал с https://github.com/joeledstrom/SpreadsheetTest и адаптировал его для работы с клиентской версией API. 1.6.0, следуя подходу, описанному в «Примере Picasa для Android». Запрос токенов для обеих служб по отдельности и их использование в двух разных фабриках запросов работает нормально. Единственная сложная проблема заключается в том, что теперь вам также нужно иметь дело с двумя намерениями для запроса авторизации от пользователя, который возвращает getAuthToken.

person mtotschnig    schedule 16.02.2012