Exchange の EWS の永続的なアプリケーションの設定

Exchange で永続的なカスタム アプリケーション設定を作成するために EWS マネージ API または EWS アプリケーションが使用できる様々なオプションについて説明します。

メールボックス、またはメールボックスのフォルダーとアイテムのカスタム クライアント構成の同期を維持する最も簡単な方法は、Exchange サーバーにアプリケーション設定を保存することです。 次のいずれかを使用して、メールボックスでこれらの設定を保持できます。

  • ユーザー構成オブジェクト

  • 拡張プロパティ

  • カスタム アイテム

永続的なアプリケーション設定を作成するためのオプション

ユーザー構成オブジェクトは、EWS クライアント アプリケーションの構成設定を格納するための最善のオプションです。 また、拡張プロパティ、カスタム アイテム、または 3 つすべてを組み合わせて使用することもできます。 設定のスコープ、および設定をその他のアプリケーションでも使用する必要があるかどうかに基づき、オプションを選びます。

表 1. スコープに基づき永続的なアプリケーション設定を作成するための推奨オプション

設定のスコープ 使う機能… アクセス元
アイテム
既存の項目の拡張プロパティ。
EWS アプリケーション。 プロパティの識別子を知っている EWS クライアントのみが拡張プロパティにアクセスできます。
Folder
ターゲット フォルダーのユーザー構成オブジェクト。 これは、フォルダーの表示設定を保存する場合に便利です。
EWS アプリケーション。
メールボックス
既定の msgrootfolder フォルダーのユーザー構成オブジェクト。
EWS アプリケーション。

ユーザー構成オブジェクト

ユーザー構成オブジェクトは、メールボックス内のフォルダーに関連付けられている特別なアイテムです。 ユーザー構成オブジェクト (フォルダー関連アイテムとも呼ばれます) は、通常、特に構成情報がフォルダーまたはメールボックスに関連付けられている場合に、アプリケーション設定を保持するための最適なオプションです。 通常、エンド ユーザーには表示されません。 データ ストリームとデータ ディクショナリをネイティブに格納できるため、構成情報を格納するのに最適です。 ユーザー構成オブジェクトを使用する最善の方法は、一連の構成を XML ドキュメントに格納し、その情報をいずれかのユーザー構成ストリーム プロパティに保存することです。

ユーザー構成オブジェクトは、メールボックスに格納されている他のアイテムの種類とは別にアクセスされます。 すべてのアイテムは Folder.FindItems EWS マネージ API メソッド、または FindItem EWS 操作を利用して見つけることができますが、ユーザー構成オブジェクトを見つけるには Associated 検索走査オプションを使用する必要があります。 Associated 検索走査は、検索結果にユーザー構成オブジェクトしか含まれないことを示します。 EWS には、ユーザー構成オブジェクトに固有の操作のセットが含まれています。

表 1. ユーザー構成オブジェクトを操作するための EWS 操作と EWS マネージ API メソッド

目的 使用する EWS 操作 使用する EWS マネージ API メソッド
ユーザー構成オブジェクトを作成する
CreateUserConfiguration 操作
UserConfiguration.Save
ユーザー構成オブジェクトを取得する
GetUserConfiguration 操作
UserConfiguration.Bind
UserConfiguration.Load
ユーザー構成オブジェクトを更新する
UpdateUserConfiguration 操作
UserConfiguration.Update
ユーザー構成オブジェクトを削除する
DeleteUserConfiguration 操作
UserConfiguration.Delete

注:

EWS を使用して作成したユーザー構成オブジェクトは、"IPM.Configuration" で始まる ItemClass プレフィックスを持っています。 ユーザー構成オブジェクトの ItemClass は、ユーザー構成オブジェクトのプレフィックスとユーザー構成オブジェクトの名前です。 Item.ItemClass EWS マネージ API プロパティ、または ItemClass EWS 要素を使用して、定義済みのユーザー構成オブジェクトを検索できます。

拡張プロパティ

アイテムの構成情報を保存する場合は、拡張プロパティを使用します。 MAPI とは異なり、EWS は、アイテムのプロパティ バッグを返しません。 つまり、EWS のクライアントが拡張プロパティを見つけてアクセスするには、拡張プロパティの識別子を知っている必要があります。 ユーザー構成オブジェクト以外のアイテムに関する構成情報を保存する必要がある場合は、拡張プロパティを使用してカスタム プロパティを作成することが解決策になる可能性があります。 拡張プロパティを使用すると、アイテムの標準プロパティ セットの一部ではないプロパティの情報にアクセスしたり、それを保存したりできます。

重要

Exchange データベースのスキーマでは、プロパティの数は有限です。 Exchange データベースのプロパティの識別子の最大数は、32,767 です。 拡張プロパティを使用して多数の設定を保存する場合は、単一の拡張プロパティを使用してこれらの設定を保存し、この最大値を超えないようにすることをお勧めします。

Item.Update EWS マネージ API メソッドを使用するか、UpdateItem EWS 操作を使用して、ユーザー構成オブジェクトに拡張プロパティを設定できます。

カスタム アイテム

カスタム アイテムは、情報の保存にも使用できます。 既存のアイテムのプロパティは、構成情報を格納する用途にも使用できます。 また、アプリケーション用の独自のプロパティを定義するために拡張プロパティを使用することができます。 カスタム アイテムを使用して構成を保存することは、次の利点があります。

  • EWS をサポートする Exchange のすべてのバージョンで動作します。

  • アイテムの拡張プロパティを使用しない場合、Exchange のプロパティのバジェットは変更されません。

アプリケーション設定の保存場所

メールボックスのフォルダーとその中のアイテムは、メッセージのルート フォルダー内にあります。 このフォルダーは、EWS マネージ API の WellKnownFolderName.msgfolderroot の値によって識別されます。 MAPI の用語では、これはメールボックスの IPM サブツリーに相当します。 ユーザーがアクセスしているフォルダーに基づいてアプリケーションが表示設定を反映できるよう、ユーザー構成オブジェクトは UI ベースの設定を作成するためにしばしば使用されます。 フォルダー ベースの表示設定は通常、そのフォルダーに関連付けられているユーザー構成オブジェクトに設定されます。 しかし、設定をアプリケーション全体にグローバルに反映する場合もあります。 このケースでは、メッセージのルート フォルダーに設定を保存できます。

ほとんどのユーザーは通常、ルート メールボックス フォルダーを意識せず、そこにアクセスすることはありません。 このフォルダーは、EWS マネージ API の WellKnownFolderName.root の値によって識別されます。 MAPI の用語では、これはメールボックスの IPM 以外のサブツリーに相当します。 エンド ユーザーが直接アクセスしない情報は、ルート メールボックス フォルダーに保存されます。 クライアント アプリケーションは通常このフォルダーにアクセスしないため、アプリケーションの設定をここに保存することをお勧めします。

バージョンの相違点

ユーザー構成オブジェクトは、Exchange Online、Office 365 の一部としての Exchange Online、Exchange 2010 以降のバージョンの Exchange で利用できます。

関連項目