Я хочу получить доступ к GMAIL через IMAP с Android, используя OAuth. Как показано здесь:
http://code.google.com/apis/gmail/oauth/protocol.html#imap
Я попытался использовать токен авторизации, возвращенный AccountManager, в качестве параметра AUTHENTICATE, но мне не удалось пройти аутентификацию.
Я использую этот код для получения токена:
AccountManager accountManager = AccountManager.get(this);
Account[] accounts = accountManager.getAccountsByType("com.google");
AccountManagerFuture<Bundle> accountManagerFuture = accountManager.getAuthToken(accounts[0], "android", null, (Activity)this, null, null);
Bundle authTokenBundle = accountManagerFuture.getResult();
String authToken = authTokenBundle.get(AccountManager.KEY_AUTHTOKEN).toString();
И после подключения IMAP я выполняю эту команду:
"AUTHENTICATE XOAUTH " + authToken
И я получаю неверный ответ аргумента.
Что я делаю не так? Действительно ли существует связь между токеном OAuth и токеном учетной записи? Если нет, как я могу получить токен XOAUTH из токена учетной записи.
Спасибо.