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