2011-12-28 145 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

相關問題