2012-01-24 2 views
5

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

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

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

любые учебники по ссылкам были бы оценены.

TYIA.

ответ

2

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

Глядя на каком-то sample code for using the client libraries, вы могли бы сделать что-то вроде этого:

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 в первый раз в своем пользовательском интерфейсе, а не в фоновом режиме. В фоновом режиме всплывающее окно не появится.

+0

спасибо, что поделились своим прозрением, я собираюсь сделать этот фрагмент кода обработанным – Ben