EWS Java APIを使ってみた | パークのソフトウエア開発者ブログ|ICT技術(Java・Android・iPhone・C・Ruby)なら株式会社パークにお任せください

パークのソフトウエア開発者ブログ|ICT技術(Java・Android・iPhone・C・Ruby)なら株式会社パークにお任せください

開発の解決方法や新しい手法の情報を、パークのエンジニアが提供します。パークのエンジニアが必要な場合は、ぜひお気軽にお問い合わせ下さい。 株式会社パーク:http://www.pa-rk.co.jp/

こんにちは。
パク太郎です。

今回は、EWS Java APIについて書きたいと思います。
EWS Java APIとは、Exchange Serverの機能を使うためのJava用のAPIの事です。

ちょっと使う機会があったので、備忘録的に書き起こします。

1.準備編
まずは、Exchange Serverにアクセスするための準備をします。
コードは下記のようになります。

ExchangeCredentials credentials = new WebCredentials(userId, password);
ExchangeVersion exchangeVersion = ExchangeVersion.Exchange2010_SP2;
ExchangeService exchangeService = new ExchangeService(exchangeVersion);

exchangeService.setUrl(new URI(https://xxxx/EWS/Exchange.asmx));
exchangeService.setCredentials(credentials);
Exhange Serverにアクセスするために、ExchangeServiceクラスのインスタンスを作成しています。
ハイライトされている箇所は適宜変更する必要があります。


2.アクセス編
次に作成したインスタンスを用いて実際にアクセスする方法を見ていきます。

2.1 取得
メールを取得してみます。
コードは下記のようになります。
FindItemsResults<item> findItemsResults = exchangeService.findItems(WellKnownFolderName.Inbox, new ItemView(Integer.MAX_VALUE));
ArrayList<Item> items = findItemsResults.getItems();
メールを取得したいので、Inboxフォルダ内のItemを取得しました。
今回は説明しませんが、SearchFilterを用いて検索条件を指定することも出来ます。

2.2 内容の確認
取得したメールの内容を確認します。
コードは下記のようになります。
for(item : items){
    item.load();
    if(item instanceof EmailMessage){
        EmailMessage emailMessage = (EmailMessage)item;
        System.out.println("送信日時 : " + emailMessage.getSender().getAddress());
        System.out.println("送信者アドレス : " + emailMessage.getSender().getAddress()); 
        System.out.println("タイトル : " + emailMessage.getSubject());
    }
}
今回はメールを取得したので、EmailMessageクラスにキャストして内容の確認を行います。
送信日時・送信者アドレス・タイトルを表示しました。

今回はここまでにします。
ちなみにフォルダを変えることでメール以外にも色々情報が取れます。
詳しくはこちら


では~ノシ