Microsoft Graph API を使用して変更通知を取得する
名前空間: microsoft.graph
Microsoft Graph の REST API は、webhook メカニズムを使用して、クライアントに変更通知を配信します。 クライアントは、通知を受信するために自身の URL を構成する Web サービスです。 クライアント アプリは通知を使用して、変更時に状態を更新します。 着信通知のサブスクライブ方法や処理方法などの詳細については、「ユーザー データの変更に関する通知の設定」をご覧ください。
アプリは、表に示されている Microsoft Graph リソースの変更をサブスクライブできます。これは、リソースへのサブスクリプションに適用される制限も示します。 制限を超えると、サブスクリプションを作成しようとするとエラー応答が 403 Forbidden
発生します。 エラー応答の message プロパティは、超過した制限について説明します。
注:
アスタリスク (*) でマークされたリソースへのサブスクリプションは、エンドポイントでのみ使用できます /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 |
最大サブスクリプションのクォータ: Azure AD B2C テナントではサポートされていません。 サブスクリプションの changeType に関する既知の問題。 |
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} |
- |
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 onlineMeeting * | オンライン会議の変更: /communications/onlineMeetings/?$filter=JoinWebUrl eq {joinWebUrl} |
|
Teams プレゼンス * | 1 人のユーザーのプレゼンスに対する変更: /communications/presences/{id} 複数のユーザー プレゼンスに対する変更: /communications/presences?$filter=id in ({id},{id}...) |
|
Teams チーム | テナント内の任意のチームに対する変更: /teams 特定のチームへの変更: /teams/{id} |
最大サブスクリプションのクォータ: |
todoTask | 特定のタスク リスト内のすべてのタスクに対する変更: /me/todo/lists/{todoTaskListId}/tasks |
- |
user | すべてのユーザーに対する変更: /users 特定のユーザーに対する変更: /users/{id} |
最大サブスクリプションのクォータ: outlook.com などの個人の Microsoft アカウントではサポートされていません。 Azure AD B2C テナントではサポートされていません。 サブスクリプションの changeType に関する既知の問題。 |
次のリソースは、リッチ通知 (リソース データを含む通知) をサポートしています。
- Outlook イベント
- Outlook メッセージ
- Outlook 個人用連絡先
- Teams チャット
- Teams chatMessage
- Teams チャネル
- Teams conversationMember
- Teams onlineMeeting *
- Teams プレゼンス *
- Teams チーム
注:
/users/{id}
で始まるリソース パスでは、/me
を受け入れて、サインインしているユーザーを参照することができます。
アクセス許可
一般に、サブスクリプション操作にはリソースへの読み取りアクセス許可が必要です。 たとえば、メッセージの通知を受信するには、アプリに Mail.Read
アクセス許可が必要です。 記事「サブスクリプションを作成する」では、リソースの種類ごとに必要なアクセス許可がリストされています。 次の一覧表に、アプリが特定のリソースの種類に対して Webhook を使用するために要求できるアクセス許可の種類を示します。
アクセス許可の種類 | サポートされているリソースの種類 |
---|---|
委任 - 職場または学校アカウント | 警告、 チャネル、連絡先、会話、conversationMember、driveItem、イベント、グループ、リスト、メッセージ、チーム、todoTask、ユーザー |
委任 - 個人用の Microsoft アカウント | 連絡先、driveItem、リスト、イベント、メッセージ、todoTask |
アプリケーション | アラート、callRecord、チャネル、、chatMessage、、連絡先、conversationMember、driveItem、イベント、グループ、リスト、メッセージ、プリンター、printTaskDefinition、チーム、ユーザー |