Exchange データの選択
Note:以下は、Schema がEWS に設定されているときの動作について説明します。MSGraph には影響しません。
FindItem vs. GetItem
デフォルトで、本製品 はExhange Web Services FindItem API を呼び出し、SELECT 処理の実行時にはアイテムのサマリー情報のみをリクエストします。二つ以上のアイテムを返す リクエストはすべてサマリー情報を返します。次に例を示します。SELECT ItemId, Surname, EmailAddress1 FROM Contacts WHERE Surname='Smith'
メッセージの内容、もしくは連絡先やカレンダーイベントの詳細情報をリクエストするには、IncludeContent をTRUE に設定するか、アイテムのItemId を指定するか、結果を一つのアイテムに制限する必要があります。次に例を示します。
SELECT ItemId, Surname, EmailAddress1 FROM Contacts WHERE ItemId='AZQ111222...'OR
SELECT ItemId, Surname, EmailAddress1 FROM Contacts WHERE ItemdId IN ('AZQ111222...', 'AZQ111223...', 'AZQ111224...', 'AZQ111225...')OR
SELECT ItemId, Surname, EmailAddress1 FROM Contacts WHERE Surname='Smith' LIMIT 1
パブリック、およびカスタムフォルダ
パブリック、もしくはカスタムフォルダから読み出す場合は、まず読み出すフォルダのFolderId を指定する必要があります。これは、ParentFolder (カスタムフォルダの)から、 もしくはパブリックフォルダに保存されているオブジェクトのタイプに合うテーブルからの読み出しクエリを出します。パブリックフォルダがメッセージを保有する場合には Inbox を使います。次に例を示します。Inbox のサブフォルダのFolderId を探す:
SELECT DisplayName, FolderId FROM InboxContact を含むカスタムフォルダのFolderId を探す:
SELECT DisplayName, FolderId FROM Contacts WHERE ParentFolderName='publicfoldersroot'
パブリックフォルダがネストされている場合、親カスタムフォルダには別のSELECT クエリをする必要があります。
SELECT DisplayName, FolderId FROM Contacts WHERE ParentFolderId='AAEuAAAAAAAa...'