Exchange 内の EWS のユーザーと連絡先
ペルソナと統合連絡先ストアについて説明し、Exchange で EWS マネージ API または EWS を使用した連絡先の操作方法について説明します。
連絡先は、個人、グループ、または組織に関する情報を格納している Exchange 内のアイテムです。 連絡先には、名前と電子メール アドレスに加えて、IM アドレス、住所、生年月日、家族情報、連絡先を示す写真やイメージを含むその他の情報を含めることができます。
連絡先情報は、2 つの場所のいずれかに格納されます。
連絡先が組織内である場合は Active Directory ドメイン サービス (AD DS)。
連絡先が組織外である場合は、ユーザーのメールボックス内の連絡先フォルダーまたはその他のフォルダー。
複数の連絡先アイテムで、1 人のユーザーを表すこともあります。 Exchange では、これらの複数の連絡先アイテムをまとめるためにペルソナを使用します。 ペルソナは、さまざまなソースから同じ個人の連絡先情報を集約したものです。 ペルソナは、Exchange 内の連絡先情報のほかに、メールボックスの受信者キャッシュ内の情報、QuickContacts と呼ばれる IM 連絡先用の隠しフォルダーの情報、およびサードパーティのデータ ソースからの情報から集約することもできます。 Exchange の統合連絡先ストアにより、IM クライアントはこの集約機能を使用することができますが、唯一の違いは、図 1 に示すように、統合連絡先ストアが AD DS からの情報を集約しないことです。
図 1. ペルソナおよび統合連絡先ストアの連絡先情報のソース
表 1. 連絡先を操作するための EWS マネージ API メソッドと EWS 操作
目的… | 使用する EWS マネージ API メソッド | 使用する EWS 操作 |
---|---|---|
新しい連絡先の作成 |
新しい連絡先オブジェクトをインスタンス化し、Contact.Save を使用する |
CreateItem |
連絡先をコピーする |
Contact.Copy |
CopyItem |
連絡先を移動する |
Contact.Move |
MoveItem |
既存の連絡先を更新する |
Contact.Bind および Contact.Update |
UpdateItem |
連絡先を削除する |
Contact.Bind および Contact.Delete |
DeleteItem |
連絡先を検索する |
ExchangeService.FindItems |
FindItem |
ユーザーを検索する |
該当なし |
FindPeople |
配布グループを展開する |
ExchangeService.ExpandGroup |
ExpandDL |
あいまいな名前を解決する |
ExchangeService.ResolveName |
ResolveNames |
ペルソナを取得する |
該当なし |
GetPersona |
連絡先の写真を操作する |
Contact.SetContactPicture、Contact.GetContactPictureAttachment、または Contact.RemoveContactPicture |
GetUserPhoto または GetAttachment |
ペルソナ
最近まで、連絡先は通常、電子メール クライアントだけに格納されていました。 今日では、電話、ソーシャル ネットワーク サイト、Exchange メールボックスの連絡先フォルダー、組織のディレクトリ サービスなど、さまざまな場所に格納することが一般的になってきました。 連絡先情報の普及により、同一人物を表す複数の連絡先に、それぞれ異なる情報が含まれている場合があり、たとえば、1 つの連絡先には会社の電話番号、別の連絡先には個人の電話番号が含まれ、連絡先フォルダーに格納されている連絡先には、電話に格納されている同じ人物に関する連絡先とは別の名前が含まれている場合があります。
Exchange Online、Office 365 の一部としての Exchange Online、および Exchange 2013 以降のオンプレミス型 Exchange では、同じ人物を表すさまざまなソースからの連絡先が、相互に関連付けられます。これは、共通のリンク ID によって、電子メール メッセージを会話に集約する方法に似ています。 集約された連絡先情報が Exchange サーバーによって返されるとき、その情報には、ソース フォルダー、表示名、ID、ソース ID など、それぞれの連絡先の属性一式が含まれています。 返されたプロパティと属性をまとめたものは、ペルソナと呼ばれ、返された一連のプロパティはペルソナの図形と呼ばれます。
ペルソナを構成する情報は 1 つの場所に格納されず、その情報はいつでも変更できるため、ペルソナは Exchange サーバーに要求を行ったときにのみ作成されます。 FindPeople EWS 操作を使用して、ペルソナ検索要求を行います。 要求には並べ替え順序を含めることができます。クエリ文字列に従ってフィルター処理して、結果を並べ替えてフィルター処理することで、正しいペルソナを見つけるのに役立ちます。 たとえば、連絡先フォルダー、Hotmail アカウント、LinkedIn アカウント、および会社のディレクトリ サービスから、表示名と特定の連絡先に関連付けられているすべてのメール アドレスのセットを取得したり、IM アドレスを持つすべてのペルソナのセットを取得したりできます。 ペルソナへの連絡先のリンクは、さまざまなデバイスに格納されている連絡先間の関係を認識するアルゴリズムに基づいて自動的に行われます。
注:
EWS マネージ API はこの機能を実装していません。
表 2. ペルソナを操作するための EWS 操作
操作名 | 説明 |
---|---|
FindPeople |
指定した連絡先フォルダーからすべての利用可能なペルソナを取得するか、指定したクエリ文字列に一致する連絡先を取得します。 |
GetPersona |
指定したペルソナ ID のすべての IM アドレスや表示名など、指定したペルソナに関連付けられているプロパティのセットを返します。 |
GetPersona と FindPeople 操作を使用して、複数のソースから連絡先情報を効率的に取得できます。 ペルソナに関連するすべてのアイテムは、リンク ID に関連付けられているため、これらの操作は連絡先データを使用するさまざまなアプリケーションで使用できます。 以下はその例です。
ユーザーが連絡先に電話し、その応答がない場合に別の電話番号を表示する GetPersona 操作を使用する携帯電話アプリ。
受信ボックス メッセージをスキャンして電子メール アドレスを探し、既存のペルソナにあるかどうかを確認する FindPeople 操作を使用するアプリケーション。 まだペルソナに関連付けられていないアドレスは、潜在顧客の作成、またはそのペルソナが表す人物に関連する最近の通信の一覧表示に使用できます。
通信が公式なものか非公式なものかに基づき、別のあいさつ文を提供する Outlook 用メールのアプリ。 公式のあいさつ文は、ディレクトリ サービスから表示名によって指定され、非公式のあいさつ文は、ソーシャル ネットワークの連絡先から生じた表示名から指定されます。
統合連絡先ストア
ペルソナは、電子メール クライアントだけのものではありません。 IM クライアントを開発する場合、次の一部またはすべてを確認する必要があります。
IM 連絡先アイテムの既定のセットで Lync クライアント アプリケーションをどのようにプロビジョニングしますか。
IM 連絡先とグループの一覧はどのように管理しますか。
カスタム Lync クライアントからの IM 連絡先と IM グループへのアクセスはどのように管理しますか。
統合連絡先ストアは Exchange の背後で動作し、Exchange やその他のソースから連絡先情報を単一のエンティティ、つまりペルソナに集約します。 統合連絡先ストアへのアクセスに使用する EWS 操作は IM 連絡先に固有のものですが、Exchange の統合連絡先ストアは、あらゆる種類のアプリケーションのペルソナで使用できます。 統合連絡先ストアでは、連絡先データ AD DS にアクセスできないことに注意してください。
IM の連絡先は、QuickContacts と呼ばれる隠しフォルダーに格納されます。 AddNewImContactToGroup と AddImContactToGroup 操作は、この隠しフォルダーに格納されているグループに連絡先を追加できます。 また、統合連絡先ストアを使用して IM 連絡先をグループ化できるため、連絡先のグループへのアクセスと更新がさらに容易になります。
注:
EWS マネージ API はこの機能を実装していません。
表 3. 統合連絡先ストアにアクセスするための EWS 操作
操作名 | 説明 |
---|---|
AddNewImContactToGroup |
新しい IM 連絡先を、最大 1000 件まで IM グループに追加します。 |
AddImContactToGroup |
既存の IM 連絡先を、最大 1000 件まで IM グループに追加します。 |
AddImGroup |
新しい IM グループを、最大 64 個まで追加します。 |
AddDistributionGroupToImList |
新しい配布グループを、最大 64 個まで IM グループに追加します。 |
GetImItemList |
IM グループと IM 連絡先のペルソナの一覧を取得します。 |
GetImItems |
特定の IM グループと IM 連絡先のペルソナの情報を取得します。 |
RemoveContactFromImList |
IM グループから連絡先を削除します。 |
RemoveImContactFromGroup |
IM グループから IM 連絡先を削除します。 |
RemoveDistributionGroupFromImList |
IM グループから配布グループを削除します。 |
RemoveImGroup |
IM グループを削除します。 |
SetImGroup |
IM グループの表示名を変更します。 |