2017-07-26 8 views
0

ここに投稿する前に、私は同様の投稿を行っていますが解決策を見つけることができませんでした。 EWS APIを使用してOutlookの受信トレイを読み込もうとしていますが、401のアクセスが拒否されています。私を助けてください。私はAPIごとに、ユーザー名、パスワード、およびドメインを設定しているEWSを介してOutlookの受信トレイに接続中にエラーが発生しました

が必要ですが、それは401

public final class ExchangeServerConnection { 

    private static String exchangemailurl; 

    private static String userName; 

    //private static String password; 
    private ExchangeServerConnection() { 

    } 


    public static ExchangeService connectionEWS(String string) { 
     // TODO Auto-generated method stub 
     { 
      ExchangeService service = null; 
      try { 
       service = new ExchangeService(ExchangeVersion.Exchange2010_SP2); 
       ExchangeCredentials credentials = new WebCredentials("[email protected]", "Uddsa#2k16", null); 
       service.setCredentials(credentials); 
       service.setUrl(new URI("https://email-domain.com/ews/Exchange.asmx")); 
      } catch (URISyntaxException e) { 

      } 
      return service; 
     } 
    } 
} 

メインクラスを示し、なぜ知らない:

public class EmailUtil { 
    public static void main (String args[]) throws Exception{ 

     ExchangeService service = ExchangeServerConnection.connectionEWS("Uaua#2k16"); 
     System.err.println("Connections has been set up"); 
     FolderView view1 = new FolderView(EWSConstants.TEN.getNumber()); 
     System.err.println("1"); 
     // ExtendedPropertyDefinition isHiddenProp = new ExtendedPropertyDefinition(EWSConstants.PRODDEF.getNumber(), 
     // MapiPropertyType.Boolean); 
     System.err.println("2"); 
     //PropertySet pr1 = new PropertySet(BasePropertySet.IdOnly, FolderSchema.DisplayName, isHiddenProp); 
     // view1.setPropertySet(pr1); 
     System.err.println("3"); 
     view1.setTraversal(FolderTraversal.Deep); 
     System.err.println("4"); 
     SearchFilter searchFilter1 = new SearchFilter.IsEqualTo(FolderSchema.DisplayName, EWSConstants.INBOX.getValue()); 
     System.err.println("5"); 

     searchFilter1 = new SearchFilter.SearchFilterCollection(LogicalOperator.Or, searchFilter1); 
     System.err.println("6"); 
     FindFoldersResults findFolderResults = service.findFolders(WellKnownFolderName.MsgFolderRoot, searchFilter1, view1); 
     System.err.println("7"); 
     Folder folder = findFolderResults.getFolders().get(0); 
     System.err.println("8"); 
     folder.load(); 
     System.err.println(folder.getTotalCount()); 
     int messageCount = folder.getTotalCount(); 
     System.err.println("message count is "+messageCount); 

    } 
} 

答えて

0

は、資格情報です適切に形成されるか?ユーザー/ドメインのペアではなく、電子メールアドレスで接続しようとしているようです。それは、「host.comp

ExchangeCredentials credentials = 
    new WebCredentials("[email protected]", "*pass*", null); 

ExchangeCredentials credentials = 
    new WebCredentials("username", "*pass*", "comp.com"); 

または

ExchangeCredentials credentials = 
    new WebCredentials("username", "*pass*", "*name.of.domain.the.exchange.server.is.on*"); 
+0

'ExchangeCredentials資格= \t新しいWebCredentials( "Murali.S"、 "パス" に変更するのに役立ちありません.com ");' それでも同じエラーがスローされます – Jackson2489

関連する問題