名前空間: microsoft.graph
サブスクリプションのプロパティとリレーションシップを取得します。
変更通知のサブスクライブをサポートするリソースのリストについては、[アクセス許可] セクションの表を参照してください。
この API は、次の国内クラウド展開で使用できます。
| グローバル サービス | 米国政府機関 L4 | 米国政府機関 L5 (DOD) | 21Vianet が運営する中国 |
|---|---|---|---|
| ✅ | ✅ | ✅ | ✅ |
アクセス許可
要求されたリソースとアクセス許可の種類 (委任またはアプリケーション) に応じて、以下の表で指定されているアクセス許可がこの API を呼び出すため必要な最小限の特権となります。 より多くの特権アクセス許可を選択する前に注意することを含め、詳細については、[アクセス許可] で次のアクセス許可を検索してください。
| サポートされているリソース | 委任 (職場または学校のアカウント) | 委任 (個人用 Microsoft アカウント) | アプリケーション |
|---|---|---|---|
aiInteraction copilot/users/{userId}/interactionHistory/getAllEnterpriseInteractions 特定のユーザーが参加している Copilot AI の相互作用。 |
AiEnterpriseInteraction.Read | サポートされていません。 | AiEnterpriseInteraction.Read.All、AiEnterpriseInteraction.Read.User |
aiInteraction copilot/interactionHistory/getAllEnterpriseInteractions organizationでの Copilot AI の相互作用。 |
サポートされていません。 | サポートされていません。 | AiEnterpriseInteraction.Read.All |
| callRecord | 非サポート | 非サポート | CallRecords.Read.All |
callRecording communications/onlineMeetings/getAllRecordings organization内のすべての録音。 |
サポートされていません。 | サポートされていません。 | OnlineMeetingRecording.Read.All |
callRecording communications/onlineMeetings/{onlineMeetingId}/recordings 特定の会議のすべての記録。 |
OnlineMeetingRecording.Read.All | サポートされていません。 | OnlineMeetingRecording.Read.All |
callRecording users/{userId}/onlineMeetings/getAllRecordings 特定のユーザーが開催した会議で使用可能になる通話記録。 |
OnlineMeetingRecording.Read.All | サポートされていません。 | OnlineMeetingRecording.Read.All |
callTranscript communications/onlineMeetings/getAllTranscripts organization内のすべてのトランスクリプト。 |
サポートされていません。 | サポートされていません。 | OnlineMeetingTranscript.Read.All |
callTranscript communications/onlineMeetings/{onlineMeetingId}/transcripts 特定の会議のすべてのトランスクリプト。 |
OnlineMeetingTranscript.Read.All | サポートされていません。 | OnlineMeetingTranscript.Read.All |
callTranscript users/{userId}/onlineMeetings/getAllTranscripts 特定のユーザーが開催した会議で使用できる通話トランスクリプト。 |
OnlineMeetingTranscript.Read.All | サポートされていません。 | OnlineMeetingTranscript.Read.All |
| チャネル (/teams/getAllChannels – 組織内のすべてのチャネル) | 非サポート | 非サポート | Channel.ReadBasic.All、ChannelSettings.Read.All |
| チャネル (/teams/{id}/channels) | Channel.ReadBasic.All、ChannelSettings.Read.All | 非サポート | Channel.ReadBasic.All、ChannelSettings.Read.All |
| チャット (/chats – 組織内のすべてのチャット) | サポート対象外 | 非サポート | Chat.ReadBasic.All、 Chat.Read.All、 Chat.ReadWrite.All |
| チャット (/chats/{id}) | Chat.ReadBasic、 Chat.Read、 Chat.ReadWrite | 非サポート | ChatSettings.Read.Chat*, ChatSettings.ReadWrite.Chat*, Chat.Manage.Chat*, Chat.ReadBasic.All, Chat.Read.All, Chat.ReadWrite.All |
|
チャット /appCatalogs/teamsApps/{id}/installedToChats 特定の Teams アプリがインストールされているorganization内のすべてのチャット。 |
サポート対象外 | サポート対象外 | Chat.ReadBasic.WhereInstalled、Chat.Read.WhereInstalled、Chat.ReadWrite.WhereInstalled |
チャット /users/{id}/chats 特定のユーザーが参加しているすべてのチャット。 |
Chat.ReadBasic、 Chat.Read、 Chat.ReadWrite | サポートされていません。 | Chat.ReadBasic.All、 Chat.Read.All、 Chat.ReadWrite.All |
| chatMessage (/teams/{id}/channels/{id}/messages) | ChannelMessage.Read.All | 非サポート | ChannelMessage.Read.Group*、ChannelMessage.Read.All |
| chatMessage (/teams/getAllMessages -- all channel messages in organization) | 非サポート | 非サポート | ChannelMessage.Read.All |
| chatMessage (/chats/{id}/messages) | 非サポート | 非サポート | Chat.Read.All |
| chatMessage (/chats/getAllMessages -- all chat messages in organization) | 非サポート | 非サポート | Chat.Read.All |
| チャット メッセージ (/users/{id}/chats/getAllMessages -- 特定のユーザーが参加しているすべてのチャットのチャット メッセージ) | Chat.Read、Chat.ReadWrite | 非サポート | Chat.Read.All、Chat.ReadWrite.All |
|
chatMessage /appCatalogs/teamsApps/{id}/installedToChats/getAllMessages 特定の Teams アプリがインストールされているorganization内のすべてのチャットのチャット メッセージ。 |
サポートされていません。 | サポートされていません。 | Chat.Read.WhereInstalled、Chat.ReadWrite.WhereInstalled |
| contact | Contacts.Read | Contacts.Read | Contacts.Read |
| conversationMember (/chats/getAllMembers) | サポート対象外 | 非サポート | ChatMember.Read.All, ChatMember.ReadWrite.All, Chat.ReadBasic.All, Chat.Read.All, Chat.ReadWrite.All |
| conversationMember (/chats/{id}/members) | ChatMember.Read, ChatMember.ReadWrite, Chat.ReadBasic, Chat.Read, Chat.ReadWrite | サポート対象外 | ChatMember.Read.Chat*, Chat.Manage.Chat*, ChatMember.Read.All, ChatMember.ReadWrite.All, Chat.ReadBasic.All, Chat.Read.All, Chat.ReadWrite.All |
|
conversationMember /appCatalogs/teamsApps/{id}/installedToChats/getAllMembers 特定の Teams アプリがインストールされているorganization内のすべてのチャットのチャット メンバー。 |
サポート対象外 | サポート対象外 | ChatMember.Read.WhereInstalled、ChatMember.ReadWrite.WhereInstalled、Chat.ReadBasic.WhereInstalled、Chat.Read.WhereInstalled、Chat.ReadWrite.WhereInstalled |
| conversationMember (/teams/{id}/members) | TeamMember.Read.All | 非サポート | TeamMember.Read.All |
| conversationMember (/teams/{id}/channels/getAllMembers) | サポート対象外 | 非サポート | ChannelMember.Read.All |
| driveItem (ユーザーの個人用 OneDrive) | サポート対象外 | Files.ReadWrite | サポート対象外 |
| driveItem (OneDrive for Business) | Files.ReadWrite.All | サポート対象外 | Files.ReadWrite.All |
| イベント | Calendars.Read | Calendars.Read | Calendars.Read |
| グループ | Group.Read.All | サポート対象外 | Group.Read.All |
| グループ会話 | Group.Read.All | サポート対象外 | 非サポート |
| リスト | Sites.ReadWrite.All | サポート対象外 | Sites.ReadWrite.All |
| メッセージ | Mail.ReadBasic, Mail.Read | Mail.ReadBasic, Mail.Read | Mail.Read |
|
offerShiftRequest (/teams/{id}/schedule/offerShiftRequests) チーム内のオファー シフト要求に対する変更。 |
Schedule.Read.All、Schedule.ReadWrite.All | サポートされていません。 | Schedule.Read.All、Schedule.ReadWrite.All |
|
openShiftChangeRequest (/teams/{id}/schedule/openShiftChangeRequests) チーム内のオープン シフト要求に対する変更。 |
Schedule.Read.All、Schedule.ReadWrite.All | サポートされていません。 | Schedule.Read.All、Schedule.ReadWrite.All |
| プリンター | 非サポート | 非サポート | Printer.Read.All, Printer.ReadWrite.All |
| printTaskDefinition | 非サポート | 非サポート | PrintTaskDefinition.ReadWrite.All |
| セキュリティの警告 | SecurityEvents.ReadWrite.All | サポート対象外 | SecurityEvents.ReadWrite.All |
|
シフト (/teams/{id}/schedule/shifts) チーム内の任意のシフトに対する変更。 |
Schedule.Read.All、Schedule.ReadWrite.All | サポートされていません。 | Schedule.Read.All、Schedule.ReadWrite.All |
|
swapShiftsChangeRequest (/teams/{id}/schedule/swapShiftsChangeRequests) チーム内のスワップ シフト要求に対する変更。 |
Schedule.Read.All、Schedule.ReadWrite.All | サポートされていません。 | Schedule.Read.All、Schedule.ReadWrite.All |
| team (/teams – 組織内のすべてのチーム) | サポートされていません。 | サポートされていません。 | Team.ReadBasic.All、TeamSettings.Read.All |
| team (/teams/{id}) | Team.ReadBasic.All、TeamSettings.Read.All | サポートされていません。 | Team.ReadBasic.All、TeamSettings.Read.All |
|
timeOffRequest (/teams/{id}/schedule/timeOffRequests) チーム内の任意の休暇要求に対する変更。 |
Schedule.Read.All、Schedule.ReadWrite.All | サポート対象外 | Schedule.Read.All、Schedule.ReadWrite.All |
| todoTask | Tasks.ReadWrite | Tasks.ReadWrite | 非サポート |
| user | User.Read.All | User.Read.All | User.Read.All |
| virtualEventWebinar | VirtualEvent.Read | サポートされていません。 | VirtualEvent.Read.All |
注: * でマークされた権限は、リソース固有の同意を使用します。
chatMessage
chatMessage サブスクリプションは、リソース データを含むように指定できます (includeResourceData を true に設定)。 その場合、暗号化が必要であり、そのようなサブスクリプションに encryptionCertificate が指定されていない場合、サブスクリプションの作成は失敗します。
Prefer: include-unknown-enum-members要求ヘッダーを使用して、chatMessagemessageTypeの進化可能な列挙型で次の値を取得します。/teams/{id}/channels/{id}/messages と /chats/{id}/messages リソースのsystemEventMessage。
注:
/teams/getAllMessages、 /chats/getAllMessages、 /me/chats/getAllMessages、 /users/{id}/chats/getAllMessages、 /appCatalogs/teamsApps/{id}/installedToChats/getAllMessages は従量制課金 API です。 支払いモデルとライセンス要件が 適用される場合があります。
/teams/getAllMessages
/chats/getAllMessagesは、model=Aとmodel=Bの両方の支払いモデル、/me/chats/getAllMessages、/users/{id}/chats/getAllMessages、/appCatalogs/teamsApps/{id}/installedToChats/getAllMessagesサポートmodel=Bのみをサポートします。
クエリで支払いモデルを指定しない場合は、既定の 評価モード が使用されます。
注:
変更通知のサブスクライブされたリソースの支払いモデルを追加または変更するには、新しい支払いモデルを使用して新しい変更通知サブスクリプションを作成する必要があります。既存の変更通知の更新は機能しません。
conversationMember
conversationMember サブスクリプションは、リソース データを含むように指定できます (includeResourceData を trueに設定)。 その場合、暗号化が必要であり、そのようなサブスクリプションに encryptionCertificate が指定されていない場合、サブスクリプションの作成は失敗します。
注:
/teams/getAllMembers、 /chats/getAllMembers、および /appCatalogs/teamsApps/{id}/installedToChats/getAllMembers は、従量制課金 API です。 支払いモデルとライセンス要件が 適用される場合があります。
/teams/getAllMembers
/chats/getAllMembersは、model=Aとmodel=Bの両方の支払いモデルをサポートします。
/appCatalogs/teamsApps/{id}/installedToChats/getAllMembers では、 model=Bのみがサポートされます。
クエリで支払いモデルを指定しない場合は、既定の 評価モード が使用されます。
注:
変更通知のサブスクライブされたリソースの支払いモデルを追加または変更するには、新しい支払いモデルを使用して新しい変更通知サブスクリプションを作成する必要があります。既存の変更通知の更新は機能しません。
チーム、チャネル、チャット
チーム、 チャネル、 チャット の各サブスクリプションを指定して、リソース データを含めることができます (includeResourceData を trueに設定)。 その場合、暗号化が必要であり、そのようなサブスクリプションに encryptionCertificate が指定されていない場合、サブスクリプションの作成は失敗します。
notifyOnUserSpecificProperties クエリ文字列パラメーターは、特定のチャットまたはユーザー レベルの変更をサブスクライブするときに使用できます。 サブスクリプションの作成時にクエリ文字列パラメーター notifyOnUserSpecificProperties を true に設定すると、2 種類のペイロードがサブスクライバーに送信されます。 1 つの型にはユーザー固有のプロパティが含まれており、もう 1 つの型はユーザー固有のプロパティなしで送信されます。 詳細については、「 Microsoft Graph を使用してチャットの変更通知を取得する」を参照してください。
注:
/appCatalogs/teamsApps/{id}/installedToChatsには、特にmodel=Bのみをサポートするライセンスと支払いの要件があります。
モデルが指定されていない場合は、 評価モード が使用されます。
注:
変更通知のサブスクライブされたリソースの支払いモデルを追加または変更するには、新しい支払いモデルを使用して新しい変更通知サブスクリプションを作成する必要があります。既存の変更通知の更新は機能しません。
要求の例
要求本文の リソース プロパティで、model クエリ パラメーターを指定します。
POST https://graph.microsoft.com/v1.0/subscriptions
Content-type: application/json
{
"changeType": "created",
"notificationUrl": "https://webhook.azurewebsites.net/api/send/myNotifyClient",
"resource": "chats/getAllMessages?model=A",
"expirationDateTime":"2016-11-20T18:23:45.9356913Z",
"clientState": "secretClientValue",
"latestSupportedTlsVersion": "v1_2"
}
aiInteraction
Copilot AI インタラクションのサブスクリプションには、次の Copilot サービス プランを含む有効な Copilot ライセンスが必要です。
- Microsoft 365 Copilot Chat: 3f30311c-6b1e-48a4-ab79-725b469da960
特定のユーザーが参加している Copilot AI 対話を対象とするサブスクリプションの場合、リソース パス内のユーザーには、有効な状態で以前のサービス プランが割り当てられている必要があります。
テナント全体の Copilot AI 操作を対象とするサブスクリプションの場合、テナントには、以前のすべての Copilot サービス プランを含む有効なライセンスがプロビジョニングされている必要があります。
driveItem
OneDrive アイテムのサブスクリプションには追加の制限が適用されます。 この制限は、サブスクリプションの作成および管理 (取得、更新、削除) に適用されます。
個人用 OneDrive では、そのドライブのルート フォルダーまたは任意のサブフォルダーにサブスクライブできます。 OneDrive for Business の場合、サブスクライブできるのはルート フォルダーのみです。 サブスクライブしたフォルダー、または階層内の任意のファイル、フォルダー、あるいは他の driveItem インスタンスに関する変更の要求された種類についての変更通知が送信されます。 個々のファイルなど、フォルダーではない drive または driveItem インスタンスをサブスクライブすることはできません。
連絡先、イベント、メッセージ
Outlook の 連絡先、イベント、または メッセージ リソースの変更にサブスクライブできます。
サブスクリプションの作成と管理 (取得、更新、および削除) には、リソースの読み取りスコープが必要です。 たとえば、メッセージに関する変更通知を受信するには、アプリに Mail.Read アクセス許可が必要です。 Outlook 変更通知は、委任されたアクセス許可スコープとアプリケーション アクセス許可スコープをサポートします。 次の制限がある点に注意してください。
委任されたアクセス許可では、サインインしているユーザーのメールボックス内のフォルダーにあるアイテムのみをサブスクライブできます。 たとえば、委任されたアクセス許可 Calendars.Read を使用して、別のユーザーのメールボックス内のイベントをサブスクライブすることはできません。
共有または委任フォルダーの Outlook 連絡先、イベント、メッセージの変更通知をサブスクライブするには、次のようにします。
- 対応するアプリケーション アクセス許可を使用して、テナントの任意のユーザーのフォルダーまたはメールボックス内にあるアイテムの変更をサブスクライブします。
- Outlook 共有アクセス許可 (Contacts.Read.Shared、Calendars.Read.Shared、Mail.Read.Shared、およびその読み取り/書き込みに対応するアクセス許可) は使用しないでください。これは、共有フォルダーまたは委任されたフォルダー内のアイテムに対する通知の変更のサブスクライブをサポート していないため です。
プレゼンス
プレゼンスchatMessage サブスクリプションのサブスクリプションは、リソース データを含むように指定できます (includeResourceData がtrueに設定されています)。 その場合は、暗号化が必要であり、 encryptionCertificate と encryptionCertificateIdが 指定されていない場合、サブスクリプションの作成は失敗します。 プレゼンス サブスクリプションの詳細については、「 Microsoft Teamsでのプレゼンス更新プログラムの変更通知を取得する」を参照してください。
virtualEventWebinar
仮想イベントのサブスクリプションでは、基本的な通知のみがサポートされ、仮想イベントのいくつかのエンティティに制限されます。 サポートされているサブスクリプションの種類の詳細については、「 Microsoft Teams仮想イベントの更新に関する変更通知を取得する」を参照してください。
HTTP 要求
GET /subscriptions/{id}
オプションのクエリ パラメーター
このメソッドは、応答をカスタマイズするための OData クエリ パラメーターをサポートします。
要求ヘッダー
| 名前 | 型 | 説明 |
|---|---|---|
| Authorization | string | ベアラー {token}。 必須です。 認証と認可についての詳細をご覧ください。 |
要求本文
このメソッドには、要求本文を指定しません。
応答
成功した場合、このメソッドは 200 OK 応答コードと、応答本文で subscription オブジェクトを返します。
例
要求
次の例は要求を示しています。
GET https://graph.microsoft.com/v1.0/subscriptions/{id}
応答
次の例は応答を示しています。
HTTP/1.1 200 OK
Content-type: application/json
{
"id":"7f105c7d-2dc5-4530-97cd-4e7ae6534c07",
"resource":"me/messages",
"applicationId" : "string",
"changeType":"created,updated",
"clientState":"secretClientValue",
"notificationUrl":"https://webhook.azurewebsites.net/api/send/myNotifyClient",
"lifecycleNotificationUrl":"https://webhook.azurewebsites.net/api/send/lifecycleNotifications",
"expirationDateTime":"2016-11-20T18:23:45.9356913Z",
"creatorId": "string",
"latestSupportedTlsVersion": "v1_2",
"encryptionCertificate": "",
"encryptionCertificateId": "",
"includeResourceData": false,
"notificationContentType": "application/json"
}