我想使用 OAuth 从 android 通过 IMAP 访问 GMAIL。如此处所示: 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 令牌和 Account 令牌之间真的有关系吗?如果没有,我如何从帐户令牌中获取 XOAUTH 令牌。
谢谢。