message: delta

名前空間: microsoft.graph

指定したフォルダーで追加、削除、更新されたメッセージのセットを取得します。

フォルダー内のメッセージの デルタ 関数呼び出しは GET 要求に似ていますが、これらの呼び出しの 1 つ以上に 状態トークン を適切に適用することで、 そのフォルダー内のメッセージの増分変更を照会できる点が異なります。 これにより、毎回サーバーからメッセージのセット全体をフェッチすることなく、ユーザーのメッセージのローカル ストアを維持および同期できます。

この API は、次の国内クラウド展開で使用できます。

グローバル サービス 米国政府機関 L4 米国政府機関 L5 (DOD) 21Vianet が運営する中国

アクセス許可

この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。 アプリで必要な場合にのみ、より高い特権のアクセス許可またはアクセス許可を使用します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「 アクセス許可の種類」を参照してください。 これらのアクセス許可の詳細については、 アクセス許可のリファレンスを参照してください

アクセス許可の種類 最小特権アクセス許可 特権の高いアクセス許可
委任 (職場または学校のアカウント) Mail.ReadBasic Mail.Read、Mail.ReadWrite
委任 (個人用 Microsoft アカウント) Mail.ReadBasic Mail.Read、Mail.ReadWrite
アプリケーション Mail.ReadBasic.All Mail.Read、Mail.ReadWrite

HTTP 要求

指定した mailFolder 内のメッセージのすべての変更を取得するには:

GET /me/mailFolders/{id}/messages/delta
GET /users/{id}/mailFolders/{id}/messages/delta

指定された mailFolder で作成、更新、または削除されたメッセージのみを具体的に取得するには:

GET /me/mailFolders/{id}/messages/delta?changeType=created
GET /users/{id}/mailfolders/{id}/messages/delta?changeType=created

GET /me/mailFolders/{id}/messages/delta?changeType=updated
GET /users/{id}/mailFolders/{id}/messages/delta?changeType=updated

GET /me/mailFolders/{id}/messages/delta?changeType=deleted
GET /users/{id}/mailFolders/{id}/messages/delta?changeType=deleted

クエリ パラメーター

メッセージの変更を追跡すると、1 つ以上の デルタ 関数呼び出しのラウンドが発生します。 OData システム クエリ オプションまたはカスタム クエリ オプション changeType であるクエリ パラメーター (および $skiptoken以外$deltatoken) を使用する場合は、最初のデルタ要求で指定する必要があります。 Microsoft Graph は、応答で提供される @odata.nextLink または @odata.deltaLink の URL のトークン部分に指定したパラメーターを自動的にエンコードします。 必要なクエリ パラメーターを前もって 1 回指定しておくだけで済みます。 後続の要求では、前の応答のまたは @odata.deltaLink URL をコピーして適用@odata.nextLinkするだけです。その URL には、エンコードされた目的のパラメーターが既に含まれています。

クエリ パラメーター 種類 説明
$deltatoken string 同じメッセージ コレクションの前のデルタ関数呼び出しの URL で@odata.deltaLink返された状態トークン。変更追跡のラウンドの完了を示します。 このコレクションについて、このトークンを含む、@odata.deltaLink URL 全体を次の変更追跡のラウンドの最初の要求に保存し、適用します。
$skiptoken string 前のデルタ関数呼び出しの @odata.nextLink URL で状態トークンが返され、同じメッセージ コレクションに追跡すべき変更が他にもあることを示します。
changeType string 変更の種類に基づいてデルタ応答をフィルター処理するカスタム クエリ オプション。 サポートされる値は、 createdupdated または deletedです。

OData クエリ パラメーター

  • GET 要求と同様にクエリ パラメーターを $select 使用して、最適なパフォーマンスを得るために必要なプロパティのみを指定できます。 id プロパティは常に返されます。
  • デルタ クエリは、メッセージの $select$top、および $expand をサポートします。
  • $filter$orderby に対するサポートには制限があります。
    • サポートされている唯一の $filter 式は、$filter=receivedDateTime+ge+{value} または $filter=receivedDateTime+gt+{value} です。
    • サポートされている唯一の $orderby 式は、$orderby=receivedDateTime+desc です。 式を含めない場合、戻り値の順序は保証されません。
  • $search はサポートされていません。

要求ヘッダー

名前 説明
Authorization string ベアラー {token}。 必須です。
Content-Type string application/json. Required.
Prefer string odata.maxpagesize={x}。 省略可能。

応答

成功した場合、このメソッドは 200 OK 応答コードと、応答本文で message コレクション オブジェクトを返します。

要求

次の例に、デルタ関数呼び出しを 1 つ作成し、応答本文に含まれるメッセージの最大数を 2 に制限する方法を示します。

フォルダー内のメッセージの変更を追跡するには、1 つ以上の デルタ 関数呼び出しを行って、最後のデルタ クエリ以降の増分変更のセットを取得します。 デルタ クエリ呼び出しのラウンドを示す例については、「 フォルダー内のメッセージに対する増分変更を取得する」を参照してください。

GET https://graph.microsoft.com/v1.0/me/mailFolders/AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZiLTU1OGY5OTZhYmY4OAAuAAAAAAAiQ8W967B7TKBjgx9rVEURAQAiIsqMbYjsT5e-T7KzowPTAAAAAAFNAAA=/messages/delta
Prefer: odata.maxpagesize=2
応答

要求が成功した場合、応答には、 skipToken ( @odata.nextLink 応答ヘッダー内) または deltaToken ( @odata.deltaLink 応答ヘッダー内) のいずれかの状態トークンが含まれます。 それぞれ、ラウンドを続行するか、そのラウンドのすべての変更の取得を完了したかを示します。

以下の応答は、@odata.nextLink 応答ヘッダーに含まれる skipToken を示しています。

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。

HTTP/1.1 200 OK
Content-type: application/json

{
  "@odata.nextLink":"https://graph.microsoft.com/v1.0/me/mailFolders/{id}/messages/delta?$skiptoken={_skipToken_}",
  "value": [
    {
      "receivedDateTime": "datetime-value",
      "sentDateTime": "datetime-value",
      "hasAttachments": true,
      "internetMessageId": "internetMessageId-value",
      "subject": "subject-value",
      "body": {
        "contentType": "contentType-value",
        "content": "content-value"
      }
    }
  ]
}