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 上の driveItem |
ルート フォルダーの階層内のコンテンツに対する変更: /drives/{id}/root 、/users/{id}/drive/root |
- |
group | すべてのグループに対する変更: /groups 特定のグループに対する変更: /groups/{id} 特定のグループの所有者に対する変更: /groups/{id}/owners 特定のグループのメンバーに対する変更: /groups/{id}/members |
最大サブスクリプションのクォータ: 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 の承認 | テナント内のすべての承認に対する変更: /solutions/approval/approvalItems |
最大サブスクリプションのクォータ: |
Teams callRecord | すべての通話レコードを変更する: /communications/callRecords フィルター処理された呼び出しレコードの変更: /communications/callRecords?$filter={parameters} |
詳細については、「 通話レコードの通知を変更する」を参照してください。 最大サブスクリプションのクォータ: 手記:呼び出しレコードを作成すると、changeType もトリガーされます updated 。 |
Teams callRecording | organization内のすべての録音:communications/onlineMeetings/getAllRecordings 特定の会議のすべての記録: communications/onlineMeetings/{onlineMeetingId}/recordings 特定のユーザーが開催した会議で使用できる通話記録: users/{id}/onlineMeetings/getAllRecordings 特定の Teams アプリがインストールされている会議で使用できる通話記録: appCatalogs/teamsApps/{id}/installedToOnlineMeetings/getAllRecordings * |
最大サブスクリプションのクォータ: |
Teams callTranscript | organization内のすべてのトランスクリプト:communications/onlineMeetings/getAllTranscripts 特定の会議のすべてのトランスクリプト: communications/onlineMeetings/{onlineMeetingId}/transcripts 特定のユーザーが開催した会議で使用できる通話トランスクリプト: users/{id}/onlineMeetings/getAllTranscripts 特定の Teams アプリがインストールされている会議で使用できる通話トランスクリプト: appCatalogs/teamsApps/{id}/installedToOnlineMeetings/getAllTrancripts * |
最大サブスクリプションのクォータ: |
Teams チャット | テナント内のすべてのチャットに対する変更: /chats 特定のチャットに対する変更: /chats/{id} notifyOnUserSpecificProperties クエリ パラメーターを使用した特定のチャットへの変更: /chats/{id}?notifyOnUserSpecificProperties={Boolean} 特定の Teams アプリがインストールされているorganization内のすべてのチャットに対する変更: /appCatalogs/teamsApps/{id}/installedToChats 特定のユーザーが参加しているすべてのチャットに対する変更: /users/{id}/chats notifyOnUserSpecificProperties クエリ パラメーターを使用して、特定のユーザーが参加しているすべてのチャットに対する変更: /users/{id}/chats?notifyOnUserSpecificProperties={Boolean} |
最大サブスクリプションのクォータ: |
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 |
最大サブスクリプションのクォータ: |
Teams チャネル | すべてのチームのチャネルに対する変更: /teams/getAllChannels 特定のチームのチャネルに対する変更: /teams/{id}/channels |
最大サブスクリプションのクォータ: |
Teams conversationMember | 特定のチームのメンバーシップの変更: /teams/{id}/members 特定のチームのすべてのチャネルのメンバーシップに対する変更: teams/{id}/channels/getAllMembers 特定のチャットでのメンバーシップの変更: /chats/{id}/members 特定の Teams アプリがインストールされているorganization内のすべてのチャットのメンバーシップに対する変更: /appCatalogs/teamsApps/{id}/installedToChats/getAllMembers すべてのチャットのメンバーシップに対する変更: /chats/getAllMembers |
最大サブスクリプションのクォータ: |
Teams onlineMeeting* | オンライン会議の変更: /communications/onlineMeetings(joinWebUrl='{encodedJoinWebUrl}')/meetingCallEvents |
を使用して $select 選択したプロパティのみを返すのをサポートしていません。 リッチ通知は、変更されたインスタンスのすべてのプロパティで構成されます。 オンライン会議ごとにアプリケーションごとに 1 つのサブスクリプションが許可されます。 詳細については、「 Microsoft Teams会議通話イベントの更新に関する変更通知を取得する」を参照してください。 |
Teams プレゼンス | 1 人のユーザーのプレゼンスに対する変更: /communications/presences/{id} 複数のユーザーのプレゼンスに対する変更: /communications/presences?$filter=id in ({id},{id}...) |
複数のユーザーのプレゼンスのサブスクリプションは、650 人の個別のユーザーに制限されています。 を使用して $select 選択したプロパティのみを返すのをサポートしていません。 リッチ通知は、変更されたインスタンスのすべてのプロパティで構成されます。 委任されたユーザーごとにアプリケーションごとに 1 つのサブスクリプションが許可されます。 詳細については、「 Microsoft Teamsでのプレゼンス更新プログラムの変更通知を取得する」を参照してください。 |
Teams チーム | テナント内の任意のチームに対する変更: /teams 特定のチームへの変更: /teams/{id} |
最大サブスクリプションのクォータ: |
Teams Shifts オファーShiftRequest | チーム内のオファー シフト要求に対する変更: /teams/{id}/schedule/offerShiftRequests |
最大サブスクリプションのクォータ: |
Teams Shifts openShiftChangeRequest | チーム内のオープン シフト要求に対する変更: /teams/{id}/schedule/openShiftChangeRequests |
最大サブスクリプションのクォータ: |
Teams Shifts シフト | チーム内の任意のシフトに対する変更: /teams/{id}/schedule/shifts |
最大サブスクリプションのクォータ: |
Teams Shifts swapShiftsChangeRequest | チーム内のスワップ シフト要求に対する変更: /teams/{id}/schedule/swapShiftsChangeRequests |
最大サブスクリプションのクォータ: |
Teams Shifts timeOffRequest | チーム内の任意の休暇要求に対する変更: /teams/{id}/schedule/timeOffRequests |
最大サブスクリプションのクォータ: |
todoTask | 特定のタスク リスト内のすべてのタスクに対する変更: /me/todo/lists/{todoTaskListId}/tasks |
- |
user | すべてのユーザーに対する変更: /users 特定のユーザーに対する変更: /users/{id} |
最大サブスクリプションのクォータ: outlook.com などの個人の Microsoft アカウントではサポートされていません。 Azure AD B2C テナントではサポートされていません。 手記:ユーザーの作成と論理的な削除によって、changeType もトリガーされます updated 。 |
注:
多くのリソースには、そのリソースに対して実行できるサブスクリプションの数に関する制限またはクォータがあります。 この制限を超えると、サブスクリプションを作成しようとするとエラー応答が 403 Forbidden
発生します。 エラー応答の message プロパティは、超過した制限について説明します。
これらのリソースの一部では、リッチ通知 (リソース データを含む通知) がサポートされています。 リッチ通知をサポートするリソースの詳細については、「 リソース データを含む変更通知を設定する」を参照してください。
注:
/users/{id}
で始まるリソース パスでは、/me
を受け入れて、サインインしているユーザーを参照することができます。
アクセス許可
一般に、サブスクリプション操作にはリソースへの読み取りアクセス許可が必要です。 たとえば、メッセージの通知を受信するには、アプリに Mail.Read
アクセス許可が必要です。 記事「サブスクリプションを作成する」では、リソースの種類ごとに必要なアクセス許可がリストされています。 次の一覧表に、アプリが特定のリソースの種類に対して Webhook を使用するために要求できるアクセス許可の種類を示します。
アクセス許可の種類 | サポートされているリソースの種類 |
---|---|
委任 - 職場または学校アカウント | alert, callTranscript, チャネル, 連絡先, 会話, conversationMember, driveItem, イベント, グループ, リスト, メッセージ, offerShiftRequest, openShiftChangeRequest, shift, swapShiftsChangeRequest, team, timeOffRequest, todoTask, user |
委任 - 個人用の Microsoft アカウント | 連絡先、driveItem、リスト、イベント、メッセージ、todoTask |
アプリケーション | alert, callRecording, callTranscript, channel, chatMessage, contact, conversationMember, driveItem, イベント, グループ, リスト, メッセージ, offerShiftRequest, openShiftChangeRequest, プリンター, printTaskDefinition, shift, swapShiftsChangeRequest,team, timeOffRequest, ユーザー |