使用AccountManager进行Gmail Imap身份验证

时间:2011-12-28 07:39:48

标签: android imap javamail gmail-imap

使用下面的代码,我可以从AccountManager获取令牌。我能够弄清楚如何在Android(会话,存储,文件夹,...)的javamail(IMAP)api中使用此令牌?

我想使用客户经理对Gmail IMAP进行身份验证,我应该怎么做呢?

    AccountManager manager = AccountManager.get(this);
    Account[] accounts = manager.getAccounts();

    manager.getAuthToken(accounts[0], "oauth2:https://mail.google.com/", null, this, new AccountManagerCallback<Bundle>(){

        public void run(AccountManagerFuture<Bundle> future) {
            try {
                String token = future.getResult().getString(AccountManager.KEY_AUTHTOKEN);

            } catch (OperationCanceledException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (AuthenticatorException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (MessagingException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

    }, null);

1 个答案:

答案 0 :(得分:-1)

请参阅google-mail-oauth2-tools一旦您拥有令牌,您应该能够使用这些代码示例来完成剩下的工作。