2011-12-28 116 views
6

使用下面的代码我可以从AccountManager获得一个令牌。我是而不是能够弄清楚如何将这个令牌用于android(Session,Store,Folder,..)的javamail(IMAP)api?使用AccountManager的Gmail Imap身份验证

我想使用客户经理验证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); 
+0

您是否找到任何解决方法?我也在寻找相同的.. – Naveen 2012-05-26 01:06:42

回答

-1

google-mail-oauth2-tools
一旦你的道理,你应该能够使用这些代码示例,以完成其余部分。

+0

您已经链接到一个通用的Java库,根本不使用Android AccountManager。 – mhsmith 2016-04-24 13:32:02

+0

原帖并不是关于如何使用AccountManager,而是关于如何在javamail(IMAP)api中使用AccountManager令牌。所提供的代码示例清楚地显示了如何完成此任务的示例,并为我工作,这就是我提供它的原因。 在这一点上,我会建议原来的问题被降低或关闭,因为在整个SO中有更多更全面的例子和讨论。 – 2016-05-07 15:10:45

相关问题