Microsoft Graph API を使用して変更通知を取得する

名前空間: microsoft.graph

Microsoft Graph の REST API は、webhook メカニズムを使用して、クライアントに変更通知を配信します。 クライアントは、通知を受信するために自身の URL を構成する Web サービスです。 クライアント アプリは通知を使用して、変更時に状態を更新します。 着信通知のサブスクライブ方法や処理方法などの詳細については、「ユーザー データの変更に関する通知の設定」をご覧ください。

Microsoft Graph の API を使用すると、アプリは次のリソースに変更を登録できます。

リソース サポートされるリソースのパス 通知には、リソース データを含めることができます。
クラウド印刷 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
いいえ
グループ すべてのグループに対する変更:
/groups
特定のグループに対する変更:
/groups/{id}
特定のグループの所有者を変更する
/groups/{id}/owners
特定のグループのメンバーを変更する
/groups/{id}/members
いいえ
SharePoint [サイト][]の[リスト][] リスト 内のコンテンツに対する変更:
/sites/{id}/lists/{id}
いいえ
Microsoft 365 グループ会話 グループの会話に対する変更:
groups/{id}/conversations
いいえ
Outlook メッセージ ユーザーのメールボックス内のすべてのメッセージに対する変更:
/users/{id}/messages
ユーザーの受信トレイ内のメッセージに対する変更:
/users/{id}/mailFolders('inbox')/messages
不要
Outlook イベント ユーザーのメールボックス内のすべてのイベントに対する変更:
/users/{id}/events
不要
Outlook 個人用[連絡先][] ユーザーのメールボックス内のすべての個人用連絡先に対する変更:
/users/{id}/contacts
不要
セキュリティの警告 特定の警告に対する変更:
/security/alerts/{id}
フィルター処理された警告に対する変更:
/security/alerts/?$filter
不要
Teams callRecord すべて の通話レコードを変更する: /communications/callRecords いいえ
Teams チャット テナント内のチャットに対する変更:
/chats
特定のユーザーに対する変更:
/chats/{id}
はい
Teams chatMessage すべてのチームのすべてのチャンネル内のチャット メッセージに対する変更:
/teams/getAllMessages
特定のチャンネル内のチャット メッセージに対する変更:
/teams/{id}/channels/{id}/messages
すべてのチャット内のチャット メッセージに対する変更:
/chats/getAllMessages
特定のチャット内のチャット メッセージに対する変更:
/chats/{id}/messages
特定のユーザーが含まれるすべてのチャットでのチャット メッセージの変更:
/users/{id}/chats/getAllMessages
はい
Teams [チャネル][] すべてのチームのチャネルに対する変更:
/teams/getAllChannels
特定のチームのチャネルに対する変更:
/teams/{id}/channels
はい
Teams conversationMember 特定のチームのメンバーシップに対する変更:
/teams/{id}/members
特定のチームのすべてのチャネルのメンバーシップに対する変更:
teams/{id}/channels/getAllMembers
特定のチャットのメンバーシップに対する変更:
/chats/{id}/members
すべてのチャットのメンバーシップの変更:
/teams/getAllMembers
はい
Teams [チーム][] テナント内のすべてのチームに対する変更:
/teams
特定のチームに対する変更:
/teams/{id}
はい
To Do タスク 特定のタスク リスト内のすべてのタスクに対する変更:
/me/todo/lists/{todoTaskListId}/tasks
いいえ
ユーザー すべてのユーザーに対する変更:
/users
特定のユーザーに対する変更:
/users/{id}
いいえ

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

アクセス許可

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

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

関連項目