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

名前空間: microsoft.graph

重要

Microsoft Graph のバージョンの /beta API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 API が v1.0 で使用できるかどうかを確認するには、 バージョン セレクターを使用します。

注意事項

この機能を baseTask または baseTaskList で使用する既存のアプリは、これらのリソースに基づいて構築された To Do API セットが 2022 年 5 月 31 日の時点で非推奨になっているので、更新する必要があります。 その API セットは、2022 年 8 月 31 日にデータを戻すことを停止します。 todoTask に基づいて構築された API セットを使用してください。

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

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

リソース サポートされるリソースのパス 通知には、リソース データを含めることができます。
クラウド印刷 printer 印刷ジョブをダウンロードする準備ができた場合に変更 (JobFetchable イベント):
/print/printers/{id}/jobs
いいえ
クラウド印刷 printTaskDefinition キューに有効なジョブがある場合に変更 (JobStarted イベント):
/print/printtaskdefinition/{id}/tasks
いいえ
OneDrive for Business の driveItem ルート フォルダー の階層内のコンテンツに対する変更:
/drives/{id}/root
/users/{id}/drive/root
いいえ
OneDrive (個人用) の driveItem 任意のフォルダー の階層内のコンテンツに対する変更:
/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}/events
はい
Outlook メッセージ ユーザーのメールボックス内のすべてのメッセージに対する変更:
/users/{id}/messages
ユーザーの受信トレイ内のメッセージに対する変更:
/users/{id}/mailFolders('inbox')/messages
はい
Outlook 個人用[連絡先][] ユーザーのメールボックス内のすべての個人用連絡先に対する変更:
/users/{id}/contacts
はい
セキュリティの警告 特定の警告に対する変更:
/security/alerts/{id}
フィルター処理された警告に対する変更:
/security/alerts/?$filter
不要
Teams callRecord すべて の通話レコードを変更する: /communications/callRecords いいえ
Teams [チャネル][] すべてのチームのチャネルに対する変更:
/teams/getAllChannels
特定のチームのチャネルに対する変更:
/teams/{id}/channels
はい
Teams チャット テナント内のチャットに対する変更:
/chats
特定のユーザーに対する変更:
/chats/{id}
はい
Teams chatmessage すべてのチームのすべてのチャンネル内のチャット メッセージに対する変更:
/teams/getAllMessages
特定のチャンネル内のチャット メッセージに対する変更:
/teams/{id}/channels/{id}/messages
すべてのチャット内のチャット メッセージに対する変更:
/chats/getAllMessages
特定のチャット内のチャット メッセージに対する変更:
/chats/{id}/messages
特定のユーザーが含まれるすべてのチャットでのチャット メッセージの変更:
/users/{id}/chats/getAllMessages
はい
Teams conversationMember 特定のチームのメンバーシップに対する変更:
/teams/{id}/members
特定のチャットのメンバーシップに対する変更:
/chats/{id}/members
すべてのチャットのメンバーシップの変更:
/chats/getAllMembers
特定のチームのすべてのチャネルのメンバーシップに対する変更:
teams/{id}/channels/getAllMembers
はい
Teams onlineMeeting オンライン会議の変更:
/communications/onlineMeetings/?$filter=JoinWebUrl eq {joinWebUrl}
はい
Teams プレゼンス 1 人のユーザーのプレゼンスに対する変更: /communications/presences/{id}
複数のユーザー プレゼンスに対する変更:
/communications/presences?$filter=id in ({id},{id}...)
はい
Teams [チーム][] テナント内のすべてのチームに対する変更:
/teams
特定のチームに対する変更:
/teams/{id}
はい
To Do baseTask (非推奨) 特定のタスク リスト内のすべてのタスクに対する変更:
/me/tasks/lists/{baseTaskListId}/tasks
すべてのタスクに対する変更:
/me/tasks/lists/alltasks
いいえ
To Do タスク 特定のタスク リスト内のすべてのタスクに対する変更:
/me/todo/lists/{todoTaskListId}/tasks
いいえ
ユーザー すべてのユーザーに対する変更:
/users
特定のユーザーに対する変更:
/users/{id}
いいえ

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

アクセス許可

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

アクセス許可の種類 サポートされているリソースの種類
委任 - 職場または学校アカウント [alert][], baseTask (非推奨), [チャネル][], チャット, [連絡先][], 会話, conversationMember, driveItem, list, [event][], [group][], [message][], [user][], [presence][], chatMessage (プレビュー), [チーム][], todoTask [][]
委任 - 個人用の Microsoft アカウント baseTask (非推奨), contact, driveItem, list, [event][], [message][], todoTask
アプリケーション [アラート][], [チャネル][], チャット, [連絡先][], driveItem, [リスト][], イベント, グループ, メッセージ, ユーザー, callRecord, chatMessage, conversationMember, onlinemeeting, printer, printTaskDefinition, [チーム][]

関連項目