サブスクリプションを取得する
名前空間: microsoft.graph
サブスクリプションのプロパティとリレーションシップを取得します。
変更通知のサブスクライブをサポートするリソースのリストについては、[アクセス許可] セクションの表を参照してください。
この API は、次の国内クラウド展開で使用できます。
グローバル サービス | 米国政府機関 L4 | 米国政府機関 L5 (DOD) | 21Vianet が運営する中国 |
---|---|---|---|
✅ | ✅ | ✅ | ✅ |
アクセス許可
要求されたリソースとアクセス許可の種類 (委任またはアプリケーション) に応じて、以下の表で指定されているアクセス許可がこの API を呼び出すため必要な最小限の特権となります。 より多くの特権アクセス許可を選択する前に注意することを含め、詳細については、[アクセス許可] で次のアクセス許可を検索してください。
サポートされているリソース | 委任 (職場または学校のアカウント) | 委任 (個人用 Microsoft アカウント) | アプリケーション |
---|---|---|---|
callRecord | 非サポート | 非サポート | CallRecords.Read.All |
callRecording communications/onlineMeetings/getAllRecordings 組織内のすべての記録。 |
サポートされていません。 | サポートされていません。 | 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 組織内のすべてのトランスクリプト。 |
サポートされていません。 | サポートされていません。 | 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 アプリがインストールされている組織内のすべてのチャット。 |
非サポート | 非サポート | Chat.ReadBasic.WhereInstalled、Chat.Read.WhereInstalled、Chat.ReadWrite.WhereInstalled |
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 アプリがインストールされている組織内のすべてのチャットのチャット メッセージ。 |
サポートされていません。 | サポートされていません。 | 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 アプリがインストールされている組織内のすべてのチャットのチャット メンバー。 |
非サポート | 非サポート | 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"
}
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、およびその読み取り/書き込みに対応するアクセス許可) は使用しないでください。これは、共有フォルダーまたは委任されたフォルダー内のアイテムに対する通知の変更のサブスクライブをサポート していないため です。
プレゼンス
プレゼンス上のサブスクリプションでは、リソース データを含む通知の暗号化が必要です。 通知にリソース データを含める必要があるときに 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"
}