サブスクリプションを取得する
名前空間: microsoft.graph
重要
Microsoft Graph のバージョンの /beta API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 API が v1.0 で使用できるかどうかを確認するには、 バージョン セレクターを使用します。
注意事項
この機能を baseTask または baseTaskList で使用する既存のアプリは、これらのリソースに基づいて構築された To Do API セットが 2022 年 5 月 31 日の時点で非推奨になっているので、更新する必要があります。 その API セットは、2022 年 8 月 31 日にデータを戻すことを停止します。 todoTask に基づいて構築された API セットを使用してください。
サブスクリプションのプロパティとリレーションシップを取得します。
変更通知のサブスクライブをサポートするリソースのリストについては、[アクセス許可] セクションの表を参照してください。
アクセス許可
要求されたリソースとアクセス許可の種類 (委任またはアプリケーション) に応じて、以下の表で指定されているアクセス許可がこの API を呼び出すため必要な最小限の特権となります。 より多くの特権アクセス許可を選択する前に注意することを含め、詳細については、[アクセス許可] で次のアクセス許可を検索してください。
| サポートされているリソース | 委任 (職場または学校のアカウント) | 委任 (個人用 Microsoft アカウント) | アプリケーション |
|---|---|---|---|
| baseTask (非推奨) | Tasks.ReadWrite | Tasks.ReadWrite | 非サポート |
| callRecord | 非サポート | 非サポート | CallRecords.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 |
| chatMessage (/teams/{id}/channels/{id}/messages) | ChannelMessage.Read.All、Group.Read.All、Group.ReadWrite.All | 非サポート | ChannelMessage.Read.Group*、ChannelMessage.Read.All |
| chatMessage (/teams/getAllMessages -- all channel messages in organization) | 非サポート | 非サポート | ChannelMessage.Read.All |
| chatMessage (/chats/{id}/messages) | Chat.Read、Chat.ReadWrite | 非サポート | 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 |
| 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 (/teams/getAllMembers) | 非サポート | 非サポート | TeamMember.Read.All, TeamMember.ReadWrite.All |
| 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 |
| オンライン会議 | 非サポート | 非サポート | OnlineMeetings.Read.All、OnlineMeetings.ReadWrite.All |
| プレゼンス | Presence.Read.All | 非サポート | サポート対象外 |
| プリンター | 非サポート | 非サポート | Printer.Read.All, Printer.ReadWrite.All |
| printTaskDefinition | 非サポート | 非サポート | PrintTaskDefinition.ReadWrite.All |
| セキュリティの警告 | SecurityEvents.ReadWrite.All | サポート対象外 | SecurityEvents.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 |
| todoTask | Tasks.ReadWrite | Tasks.ReadWrite | 非サポート |
| user | User.Read.All | User.Read.All | User.Read.All |
注: * でマークされた権限は、リソース固有の同意を使用します。
chatMessage
chatMessage サブスクリプションは、リソース データを含めるように指定できます。 リソース データを含めるように指定した場合 (includeResourceData を true に設定)、暗号化が必要です。 そのようなサブスクリプションに encryptionCertificate が指定されていない場合、サブスクリプションの作成は失敗します。 アプリケーションのアクセス許可を使用して chatMessage サブスクリプションを作成する前に、アクセスを要求する必要がある場合があります。 詳細については、「Microsoft Teams の保護された API」を参照してください。
Prefer: include-unknown-enum-members 要求ヘッダーを使用して、chatMessage、messageType、Evolvable 列挙型 で次の値を取得する必要があります。/teams/{id}/channels/{id}/messages および /chats/{id}/messages リソースの systemEventMessage。
注意
/teams/getAllMessages、/chats/getAllMessages、/me/chats/getAllMessages、および /users/{id}/chats/getAllMessages には、ライセンスと支払いの要件 があります。
/teams/getAllMessages と /chats/getAllMessages では、model=A と model=B の両方のクエリ パラメーターがサポートされ、/me/chats/getAllMessages と /users/{id}/chats/getAllMessages は、 model=B のみがサポートされています。
モデルが指定されていない場合は、評価モードが使用されます。
conversationMember
conversationMember サブスクリプションは、リソース データを含めるために指定できます。 リソース データを含めるように指定した場合 (includeResourceData を true に設定)、暗号化が必要です。 encryptionCertificateが指定されていない場合、サブスクリプションの作成は失敗します。
注意
/teams/getAllMembers と /chats/getAllMembers には ライセンス要件と支払い要件 があります。
/teams/getAllMembers と /chats/getAllMembers では model=A と model=B の両方がサポートされています。
モデルが指定されていない場合は、評価モードが使用されます。
チーム、チャネル、チャット
チーム、 チャネル、 チャット のサブスクリプションを指定して、リソース データを含めることができます。 リソース データを含めるように指定した場合 (includeResourceData を true に設定)、暗号化が必要です。 encryptionCertificateが指定されていない場合、サブスクリプションの作成は失敗します。
要求の例
要求本文の リソース プロパティで、model クエリ パラメーターを指定します。
POST https://graph.microsoft.com/beta/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 インスタンスに関する変更の要求された種類についての変更通知が送信されます。 個別のファイルなどのフォルダーではない、ドライブ インスタンスまたは driveItem インスタンスをサブスクライブすることはできません。
連絡先、イベント、メッセージ
Outlook の連絡先、 イベント、または メッセージ のリソースの変更をサブスクライブし、必要に応じて、通知に暗号化されたリソース データを含めるかどうかを POST 要求ペイロードで指定できます。
サブスクリプションの作成と管理 (取得、更新、および削除) には、リソースの読み取りスコープが必要です。 たとえば、メッセージに関する変更通知を受信するには、アプリに Mail.Read アクセス許可が必要です。 Outlook 変更通知は、委任されたアクセス許可スコープとアプリケーション アクセス許可スコープをサポートします。 次の制限がある点に注意してください。
委任されたアクセス許可では、サインインしているユーザーのメールボックス内のフォルダーにあるアイテムのみをサブスクライブできます。 委任されたアクセス許可 Calendars.Read を使用して、別のユーザーのメールボックス内のイベントをサブスクライブすることなどはできません。
共有または委任 フォルダーの Outlook 連絡先、イベント、メッセージの変更通知をサブスクライブするには、次のようにします。
- 対応するアプリケーション アクセス許可を使用して、テナントの 任意 のユーザーのフォルダーまたはメールボックス内にあるアイテムの変更をサブスクライブします。
- Outlook 共有アクセス許可 (Contacts.Read.Shared、Calendars.Read.Shared、Mail.Read.Shared、および対応する読み取り/書き込み) は使用しないでください。それらは、共有フォルダーまたは委任フォルダーにあるアイテムの変更通知のサブスクライブをサポート していない からです。
onlineMeetings、プレゼンス
onlineMeetings サブスクリプションと プレゼンス サブスクリプションでは、リソース データを含む通知の 暗号化 が必要です。 通知でリソース データが必要な場合、 encryptionCertificate と encryptionCertificateId が指定されていない場合、サブスクリプションの作成は失敗します。 オンライン会議サブスクリプションの詳細については、「オンライン会議 の変更通知を取得する」を参照してください。
HTTP 要求
GET /subscriptions/{id}
オプションのクエリ パラメーター
このメソッドは、応答をカスタマイズするための OData クエリ パラメーターをサポートします。
要求ヘッダー
| 名前 | 型 | 説明 |
|---|---|---|
| Authorization | string | ベアラー {token}。必須。 |
要求本文
このメソッドには、要求本文を指定しません。
応答
成功した場合、このメソッドは 200 OK 応答コードと、応答本文で subscription オブジェクトを返します。
例
要求
以下は、要求の例です。
GET https://graph.microsoft.com/beta/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"
}
フィードバック
フィードバックの送信と表示