Microsoft Graph API変更通知

名前空間: microsoft.graph

Microsoft Graph REST API は、Webhook、Event Hubs、Event Grid など、さまざまなエンドポイントを通じてクライアントに変更通知を配信できます。 アプリケーションの通知をサブスクライブして受信する方法については、「 ユーザー データの変更に関する通知を設定する」を参照してください。

アプリは、表に一覧表示されている Microsoft Graph リソースの変更をサブスクライブできます。

メモ: アスタリスク (*) でマークされたリソースへのサブスクリプションは、エンドポイントでのみ使用できます /beta

リソース サポートされているリソース パス 制限事項
クラウド印刷の printer 印刷ジョブをダウンロードする準備ができたときに変更されます (jobFetchable イベント): /print/printers/{id}/jobs -
クラウド印刷の printTaskDefinition キューに有効なジョブがある場合の変更 (jobStarted イベント): /print/printtaskdefinition/{id}/tasks -
OneDrive (個人用) の driveItem 任意のフォルダーの階層内のコンテンツに対する変更:/users/{id}/drive/root -
OneDrive for Business の driveItem ルート フォルダーの階層内のコンテンツに対する変更: /drives/{id}/root/users/{id}/drive/root -
group すべてのグループに対する変更: /groups

特定のグループに対する変更: /groups/{id}

特定のグループの所有者に対する変更: /groups/{id}/owners

特定のグループのメンバーに対する変更: /groups/{id}/members
最大サブスクリプションのクォータ:
  • アプリごと (すべてのテナントを組み合わせた場合): 合計サブスクリプション数 50,000。
  • テナントごと (すべてのアプリケーションを組み合わせた場合): すべてのアプリ全体で合計 1,000 個のサブスクリプション。
  • アプリとテナントの組み合わせごとに:合計 100 個のサブスクリプション。

    Azure AD B2C テナントではサポートされていません。

    メモ:グループの作成と論理的な削除によって、changeType もトリガーされますupdated
  • SharePoint サイトリスト リスト内のコンテンツに対する変更:/sites/{site-id}/lists/{list-id} -
    Microsoft 365 グループ会話 グループの会話に対する変更: groups/{id}/conversations -
    Outlook メッセージ ユーザーのメールボックス内のすべてのメッセージに対する変更: /users/{id}/messages/me/messages

    ユーザーの受信トレイ内のメッセージの変更: /users/{id}/mailFolders('inbox')/messages/me/mailFolders('inbox')/messages
    すべてのアプリケーションに対して、メールボックスあたり最大 1,000 個のアクティブなサブスクリプションが許可されます。
    Outlook イベント ユーザーのメールボックス内のすべてのイベントに対する変更: /users/{id}/events/me/events すべてのアプリケーションに対して、メールボックスあたり最大 1,000 個のアクティブなサブスクリプションが許可されます。
    Outlook 個人用連絡先 ユーザーのメールボックス内のすべての個人用連絡先に対する変更: /users/{id}/contacts/me/contacts すべてのアプリケーションに対して、メールボックスあたり最大 1,000 個のアクティブなサブスクリプションが許可されます。
    セキュリティの警告 特定のアラートに対する変更: /security/alerts/{id}

    フィルター処理されたアラートに対する変更: /security/alerts/?$filter={parameters}
    詳細については、「アラートのSecurity API」を参照してください。
    Teams callRecord すべての通話レコードを変更する: /communications/callRecords 最大サブスクリプションのクォータ:
  • organizationあたり: 合計 100 個のサブスクリプション。
  • Teams callRecording organization内のすべての録音:communications/onlineMeetings/getAllRecordings

    特定の会議のすべての記録: communications/onlineMeetings/{onlineMeetingId}/recordings

    特定のユーザーが開催した会議で使用できる通話記録: users/{id}/onlineMeetings/getAllRecordings
    最大サブスクリプションのクォータ:
  • アプリとオンライン会議の組み合わせごとに: 1
  • アプリとユーザーの組み合わせごとに: 1
  • ユーザーごと (ユーザーが整理したすべての onlineMeetings の記録を追跡するサブスクリプションの場合): 10 個のサブスクリプション。
  • organizationあたり: 合計 10,000 個のサブスクリプション。
  • Teams callTranscript organization内のすべてのトランスクリプト:communications/onlineMeetings/getAllTranscripts

    特定の会議のすべてのトランスクリプト: communications/onlineMeetings/{onlineMeetingId}/transcripts

    特定のユーザーが開催した会議で使用できる通話トランスクリプト: users/{id}/onlineMeetings/getAllTranscripts
    最大サブスクリプションのクォータ:
  • アプリとオンライン会議の組み合わせごとに: 1
  • アプリとユーザーの組み合わせごとに: 1
  • ユーザーごと (ユーザーが整理したすべての onlineMeetings のトランスクリプトを追跡するサブスクリプションの場合): 10 個のサブスクリプション。
  • organizationあたり: 合計 10,000 個のサブスクリプション。
  • Teams チャット テナント内のすべてのチャットに対する変更: /chats

    特定のチャットに対する変更: /chats/{id}

    特定の Teams アプリがインストールされているorganization内のすべてのチャットに対する変更:/appCatalogs/teamsApps/{id}/installedToChats
    最大サブスクリプションのクォータ:
  • アプリとチャットの組み合わせごとに:1 つのサブスクリプション。
  • organizationあたり: 合計 10,000 個のサブスクリプション。
  • Teams chatMessage すべてのチームのすべてのチャネルでチャット メッセージに対する変更: /teams/getAllMessages

    特定のチャネルでのチャット メッセージの変更: /teams/{id}/channels/{id}/messages

    すべてのチャットでのチャット メッセージの変更: /chats/getAllMessages

    特定のチャット内のチャット メッセージに対する変更: /chats/{id}/messages

    特定のユーザーが含まれるすべてのチャット内のチャット メッセージに対する変更: /users/{id}/chats/getAllMessages

    特定の Teams アプリがインストールされているorganization内のすべてのチャットに対するチャット メッセージの変更:/appCatalogs/teamsApps/{id}/installedToChats/getAllMessages
    最大サブスクリプションのクォータ:
  • アプリとチャネルまたはチャットの組み合わせごとに:1 つのサブスクリプション。
  • ユーザーごと (ユーザーが参加しているすべてのチャット内のチャット メッセージを追跡するサブスクリプションの場合): 10 個のサブスクリプション。
  • organizationあたり: 合計 10,000 個のサブスクリプション。
  • Teams チャネル すべてのチームのチャネルに対する変更: /teams/getAllChannels

    特定のチームのチャネルに対する変更: /teams/{id}/channels
    最大サブスクリプションのクォータ:
  • アプリとチームの組み合わせごとに:1 つのサブスクリプション。
  • organizationあたり: 合計 10,000 個のサブスクリプション。
  • Teams conversationMember 特定のチームのメンバーシップの変更: /teams/{id}/members

    特定のチームのすべてのチャネルのメンバーシップに対する変更: teams/{id}/channels/getAllMembers

    特定のチャットでのメンバーシップの変更: /chats/{id}/members

    特定の Teams アプリがインストールされているorganization内のすべてのチャットのメンバーシップに対する変更:/appCatalogs/teamsApps/{id}/installedToChats/getAllMembers

    すべてのチャットのメンバーシップに対する変更: /chats/getAllMembers
    最大サブスクリプションのクォータ:
  • アプリとチームの組み合わせごとに:1 つのサブスクリプション。
  • organizationあたり: 合計 10,000 個のサブスクリプション。
  • Teams onlineMeeting* オンライン会議の変更: /communications/onlineMeetings/?$filter=JoinWebUrl eq {joinWebUrl}
    Teams プレゼンス 1 人のユーザーのプレゼンスに対する変更: /communications/presences/{id}

    複数のユーザー プレゼンスに対する変更: /communications/presences?$filter=id in ({id},{id}...)
    Teams チーム テナント内の任意のチームに対する変更: /teams

    特定のチームへの変更: /teams/{id}
    最大サブスクリプションのクォータ:
  • アプリとチームの組み合わせごとに:1 つのサブスクリプション。
  • organizationあたり: 合計 10,000 個のサブスクリプション。
  • todoTask 特定のタスク リスト内のすべてのタスクに対する変更: /me/todo/lists/{todoTaskListId}/tasks -
    user すべてのユーザーに対する変更: /users

    特定のユーザーに対する変更: /users/{id}
    最大サブスクリプションのクォータ:
  • アプリごと (すべてのテナントを組み合わせた場合): 合計サブスクリプション数 50,000。
  • テナント 1 つあたり (すべてのアプリケーションの合計): すべてのアプリケーションでの合計サブスクリプション数 1,000
  • アプリとテナントの組み合わせごとに:合計 100 個のサブスクリプション。

    outlook.com などの個人の Microsoft アカウントではサポートされていません。

    Azure AD B2C テナントではサポートされていません。

    メモ:ユーザーの作成と論理的な削除によって、changeType もトリガーされますupdated
  • メモ: 多くのリソースには、そのリソースに対して実行できるサブスクリプションの数に関する制限またはクォータがあります。 この制限を超えると、サブスクリプションを作成しようとするとエラー応答が 403 Forbidden 発生します。 エラー応答の message プロパティは、超過した制限について説明します。

    これらのリソースの一部では、リッチ通知 (リソース データを含む通知) がサポートされています。 リッチ通知をサポートするリソースの詳細については、「 リソース データを含む変更通知を設定する」を参照してください。

    : /users/{id} で始まるリソース パスでは、/me を受け入れて、サインインしているユーザーを参照することができます。

    アクセス許可

    一般に、サブスクリプション操作にはリソースへの読み取りアクセス許可が必要です。 たとえば、メッセージの通知を受信するには、アプリに Mail.Read アクセス許可が必要です。 記事「サブスクリプションを作成する」では、リソースの種類ごとに必要なアクセス許可がリストされています。 次の一覧表に、アプリが特定のリソースの種類に対して Webhook を使用するために要求できるアクセス許可の種類を示します。

    アクセス許可の種類 サポートされているリソースの種類
    委任 - 職場または学校アカウント alert, callRecording, callTranscript, チャネル, 連絡先, 会話, conversationMember, driveItem, イベント, グループ, リスト, メッセージ, チーム, todoTask, ユーザー
    委任 - 個人用の Microsoft アカウント 連絡先driveItemリストイベントメッセージtodoTask
    アプリケーション alert, callRecord, callRecording, callTranscript, channel, chatMessage, contact, conversationMember, driveItem, イベント, グループ, リスト, メッセージ, プリンター, printTaskDefinition, チーム, ユーザー