Microsoft Exchange Serverは、電子メール、カレンダー、連絡先管理などのさまざまなコラボレーションサービスを提供する電子メールおよび予定表サーバーです。私の投稿の1つでは、電子メールにアクセスして読み取る方法を示しました。プログラムでJavaのMicrosoftExchangeServerから。ただし、MSExchangeServerにある連絡先リストが必要になることがよくあります。したがって、この記事では、JavaのMicrosoft Exchange Serverで連絡先を追加、削除、または更新する方法を学習します。
- MSExchangeServer上の連絡先にアクセスするためのJavaAPI
- MSExchangeServerに連絡先を追加する
- MSExchangeServerから連絡先を削除する
- MSExchangeServerの連絡先を更新する
MSExchangeServer上の連絡先にアクセスするためのJavaAPI
Aspose.Email for Javaは、Javaで電子メールクライアントアプリケーションを実装するための一般的なAPIです。さらに、MS Exchange Serverを操作して、連絡先、電子メール、および会話アイテムを操作できます。このAPIを使用して、Exchange Serverの連絡先を追加、更新、および削除します。 APIのJARをダウンロードするか、次のMaven構成を使用してインストールできます。
リポジトリ:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
依存:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-email</artifactId>
<version>22.2</version>
<classifier>jdk16</classifier>
</dependency>
JavaでMSExchangeServerに連絡先を追加する
以下は、JavaでMicrosoftExchangeServerに連絡先を追加する手順です。
- まず、ユーザー名、パスワード、およびドメインを使用してNetworkCredentialオブジェクトを作成および初期化します。
- 次に、メールボックスURIとNetworkCredentialオブジェクトを使用してIEWSClientを初期化します。
- Contactクラスのオブジェクトを作成し、名前、仕事、性別、電話番号、関係者などのプロパティを設定します。
- 最後に、EWSClient.createContact(Contact)メソッドを呼び出して連絡先を追加します。
次のコードサンプルは、JavaでMicrosoftExchangeServerに連絡先を追加する方法を示しています。
// メールボックスのURI、ユーザー名、パスワード、ドメイン情報を設定する
String mailboxUri = "https://ex2010/ews/exchange.asmx";
String username = "test.exchange";
String password = "pwd";
String domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);
IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
// 新しい連絡先を作成する
Contact contact = new Contact();
// 一般情報を設定する
contact.setGender(Gender.Male);
contact.setDisplayName("Frank Lin");
contact.setCompanyName("ABC Co.");
contact.setJobTitle("Executive Manager");
PhoneNumber tmp0 = new PhoneNumber();
tmp0.setNumber("123456789");
tmp0.setCategory(PhoneNumberCategory.getHome());
// 電話番号を追加する
contact.getPhoneNumbers().add(tmp0);
AssociatedPerson tmp1 = new AssociatedPerson();
tmp1.setName("Catherine");
tmp1.setCategory(AssociatedPersonCategory.getSpouse());
// 連絡先の関係者
contact.getAssociatedPersons().add(tmp1);
AssociatedPerson tmp2 = new AssociatedPerson();
tmp2.setName("Bob");
tmp2.setCategory(AssociatedPersonCategory.getChild());
contact.getAssociatedPersons().add(tmp2);
AssociatedPerson tmp3 = new AssociatedPerson();
tmp3.setName("Merry");
tmp3.setCategory(AssociatedPersonCategory.getSister());
contact.getAssociatedPersons().add(tmp3);
Url tmp4 = new Url();
tmp4.setHref("www.blog.com");
tmp4.setCategory(UrlCategory.getBlog());
// URL
contact.getUrls().add(tmp4);
Url tmp5 = new Url();
tmp5.setHref("www.homepage.com");
tmp5.setCategory(UrlCategory.getHomePage());
contact.getUrls().add(tmp5);
EmailAddress tmp6 = new EmailAddress();
tmp6.setAddress("Frank.Lin@Abc.com");
tmp6.setDisplayName("Frank Lin");
tmp6.setCategory(EmailAddressCategory.getEmail1());
// 連絡先のメールアドレスを設定する
contact.getEmailAddresses().add(tmp6);
try {
// 連絡先を作成する
client.createContact(contact);
} catch (java.lang.RuntimeException ex) {
System.out.println(ex.getMessage());
}
JavaでMSExchangeServerから連絡先を削除する
MSExchangeServerから連絡先を削除することもできます。連絡先をフィルタリングするには、名前、電子メール、またはその他の適切なプロパティを使用できます。以下は、JavaでMicrosoftExchangeServerから連絡先を削除する手順です。
- まず、IEWSClientオブジェクトを作成して初期化します。
- 次に、IEWSClient.getContacts(EWSClient.getMailboxInfo().getContactsUri())メソッドを使用して、MSExchangeServerからすべての連絡先を取得します。
- 連絡先をループして、必要なものをフィルタリングします。
- 最後に、IEWSClient.deleteItem(Contact.getId().getEWSId()、DeletionOptions.getDeletePermanently())メソッドを使用して連絡先を削除します。
次のコードサンプルは、JavaでMicrosoftExchangeServerから連絡先を削除する方法を示しています。
// EWSクライアントを初期化します
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// 連絡先
String strContactToDelete = "John Teddy";
// 連絡先を取得する
Contact[] contacts = client.getContacts(client.getMailboxInfo().getContactsUri());
// 連絡先をループする
for (Contact contact : contacts) {
if (contact.getDisplayName().equals(strContactToDelete))
// 連絡先を削除
client.deleteItem(contact.getId().getEWSId(), DeletionOptions.getDeletePermanently());
}
client.dispose();
JavaでExchangeServerの連絡先を更新する
Aspose.Email for Javaでは、MSExchangeServerの連絡先を更新することもできます。この操作を実行する手順は次のとおりです。
- まず、ユーザー名、パスワード、およびドメインを使用してNetworkCredentialオブジェクトを作成および初期化します。
- 次に、メールボックスURIとNetworkCredentialオブジェクトを使用してIEWSClientを初期化します。
- IEWSClient.getContacts(EWSClient.getMailboxInfo().getContactsUri())メソッドを使用してExchangeServerから連絡先を取得します。
- その後、接点をループして、目的の接点をフィルタリングします。
- 最後に、連絡先のプロパティを更新し、IEWSClient.updateContact(Contact)を呼び出して保存します。
次のコードサンプルは、JavaでMSExchangeServerの連絡先を更新する方法を示しています。
// メールボックスのURI、ユーザー名、パスワード、ドメイン情報を設定する
String mailboxUri = "https://ex2010/ews/exchange.asmx";
String username = "test.exchange";
String password = "pwd";
String domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);
// EWSクライアントを初期化します
IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
// すべての連絡先を一覧表示し、すべての連絡先をループします
Contact[] contacts = client.getContacts(client.getMailboxInfo().getContactsUri());
Contact contact = contacts[0];
// 連絡先の詳細を更新する
System.out.println("Name: " + contact.getDisplayName());
contact.setDisplayName("David Ch");
client.updateContact(contact);
無料のAPIライセンスを取得する
無料の一時ライセンスを取得して、評価の制限なしにAspose.EmailforJavaを使用できます。
結論
この記事では、JavaでMicrosoftExchangeServerの連絡先を操作する方法を学習しました。 JavaでMSExchangeServerから連絡先を追加、削除、および更新する方法を示しました。さらに、ドキュメントを調べて、Aspose.EmailforJavaの詳細を読むことができます。また、フォーラムにクエリを投稿することもできます。