列出订阅

命名空间:microsoft.graph

重要

Microsoft Graph /beta 版本下的 API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。

检索 Webhook 订阅的列表。

响应的内容取决于应用调用的上下文;有关详细信息,请参阅 权限 部分中的方案。

此 API 可用于以下国家级云部署

全局服务 美国政府 L4 美国政府 L5 (DOD) 由世纪互联运营的中国

权限

根据请求的资源和权限类型(委托或应用程序),下表中指定的权限为调用此 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
callRecording
appCatalogs/teamsApps/{id}/installedToOnlineMeetings/getAllRecordings
在安装了特定 Teams 应用的会议中可用的通话记录。
不支持。 不支持。 OnlineMeetingRecording.Read.All、OnlineMeetingRecording.Read.Chat
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
callTranscript
appCatalogs/teamsApps/{id}/installedToOnlineMeetings/getAllTranscripts
在安装了特定 Teams 应用的会议中可用的通话记录。
不支持。 不支持。 OnlineMeetingTranscript.Read.All、OnlineMeetingTranscript.Read.Chat
频道
/teams/getAllChannels
组织中的所有频道。
不支持。 不支持。 Channel.ReadBasic.All,ChannelSettings.Read.All
频道
/teams/{id}/channels
组织中特定团队中的所有频道。
Channel.ReadBasic.All, ChannelSettings.Read.All, Subscription.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、Subscription.Read.All 不支持。 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、Group.Read.All、Group.ReadWrite.All、Subscription.Read.All 不支持。 ChannelMessage.Read.Group、ChannelMessage.Read.All
chatMessage
/teams/getAllMessages
组织中的所有频道消息。
不支持。 不支持。 ChannelMessage.Read.All
chatMessage
/chats/{id}/messages
聊天中的所有消息。
Chat.Read、Chat.ReadWrite、Subscription.Read.All 不支持。 Chat.Read.All
chatMessage
/chats/getAllMessages
组织中的所有聊天消息。
不支持。 不支持。 Chat.Read.All
chatMessage
/users/{id}/chats/getAllMessages
特定用户所属的所有聊天的聊天消息。
Chat.Read、Chat.ReadWrite、Subscription.Read.All 不支持。 Chat.Read.All、Chat.ReadWrite.All
chatMessage
/appCatalogs/teamsApps/{id}/installedToChats/getAllMessages
安装特定 Teams 应用的组织中所有聊天的聊天消息。
不支持。 不支持。 Chat.Read.WhereInstalled、Chat.ReadWrite.WhereInstalled
contact Contacts.Read、Subscription.Read.All Contacts.Read、Subscription.Read.All 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/getAllMembers
组织内所有团队的成员。
不支持。 不支持。 TeamMember.Read.All, TeamMember.ReadWrite.All
conversationMember
/teams/{id}/members
特定团队中的成员。
TeamMember.Read.All、Subscription.Read.All 不支持。 TeamMember.Read.All
conversationMember
/teams/{id}/channels/getAllMembers
特定团队的所有私人频道的成员。
不支持。 不支持。 ChannelMember.Read.All
conversationMember
/teams/getAllChannels/getAllMembers
不支持。 不支持。 ChannelMember.Read.All
driveItem
用户的个人 OneDrive。
不支持。 Files.ReadWrite、Subscription.Read.All 不支持。
driveItem
OneDrive for Business。
Files.ReadWrite.All、Subscription.Read.All 不支持。 Files.ReadWrite.All
事件 Calendars.Read、Subscription.Read.All Calendars.Read、Subscription.Read.All Calendars.Read
Group.Read.All、Subscription.Read.All 不支持。 Group.Read.All
组对话 Group.Read.All、Subscription.Read.All 不支持。 不支持。
列表 Sites.ReadWrite.All、Subscription.Read.All 不支持。 Sites.ReadWrite.All
邮件 Mail.ReadBasic、Mail.Read、Subscription.Read.All Mail.ReadBasic、Mail.Read、Subscription.Read.All Mail.Read
联机会议 不支持。 不支持。 OnlineMeetings.Read.All、OnlineMeetings.ReadWrite.All
状态 Presence.Read.All、Subscription.Read.All 不支持。 不支持。
打印机 不支持。 不支持。 打印机。阅读.All,Printer.ReadWrite.All
printTaskDefinition 不支持。 不支持。 PrintTaskDefinition.ReadWrite.All
安全警报 SecurityEvents.ReadWrite.All、Subscription.Read.All 不支持。 SecurityEvents.ReadWrite.All
团队
/teams
组织中的所有团队。
不支持。 不支持。 Team.ReadBasic.All,TeamSettings.Read.All
团队
/teams/{id}
特定团队。
Team.ReadBasic.All、TeamSettings.Read.All、Subscription.Read.All 不支持。 Team.ReadBasic.All,TeamSettings.Read.All
todoTask Tasks.ReadWrite、Subscription.Read.All Tasks.ReadWrite、Subscription.Read.All 不支持。
user User.Read.All、Subscription.Read.All User.Read.All User.Read.All
baseTask (已弃用) Tasks.ReadWrite、Subscription.Read.All Tasks.ReadWrite、Subscription.Read.All 不支持。

注意

以下权限使用 特定于资源的许可

  • OnlineMeetingRecording.Read.Chat
  • OnlineMeetingTranscript.Read.Chat
  • ChatSettings.Read.Chat
  • ChatSettings.ReadWrite.Chat
  • Chat.Manage.Chat
  • ChannelMessage.Read.Group
  • ChatMember.Read.Chat

响应结果基于调用应用的上下文。 以下部分介绍常见方案。

基本方案

最常见的情况是,应用程序希望检索最初为当前已登录用户创建的订阅,或者目录中的所有用户 (工作/学校帐户) 。 除了应用最初用于创建其订阅的权限之外,这些方案不需要任何特殊权限。

调用应用程序的上下文 响应包含
应用程序代表已登录用户(委派权限)进行调用。
-且-
应用程序具有创建该订阅所需的初始权限。

注意: 此方案适用于个人 Microsoft 帐户和工作/学校帐户。
应用仅为已登录用户创建的订阅。
应用程序代表本身(应用程序权限)进行调用。
-且-
应用程序具有创建该订阅所需的初始权限。

注意:此方案仅适用于工作/学校帐户。
由应用为自己或目录中的任何用户创建的订阅。

高级方案

在某些情况下,应用想要检索其他应用创建的订阅。 例如,用户希望看到任何应用程序代表他们创建的所有订阅。 或者,想要查看其目录中所有应用的所有订阅的管理员。 对于此类方案,委派权限 Subscription.Read.All 是必需的。

调用应用程序的上下文 响应包含
应用程序代表已登录用户(委派权限)进行调用。 用户是非管理员
-且-
应用程序具有权限 Subscription.Read.All

注意:此方案适用于个人 Microsoft 帐户和工作/学校帐户。
任何应用仅为登录用户创建的订阅。
应用程序代表已登录用户(委派权限)进行调用。 用户是管理员
-且-
应用程序具有权限 Subscription.Read.All

注意:此方案仅适用于工作/学校帐户。
任何应用为目录中的任何用户创建的订阅。

HTTP 请求

GET /subscriptions

可选的查询参数

此方法不支持 OData 查询参数 来帮助自定义响应。

请求标头

名称 类型 说明
Authorization string 持有者 {token}。 必填。

请求正文

请勿提供此方法的请求正文。

响应

如果成功,此方法在响应正文中返回 200 OK 响应代码和 subscription 对象列表。

示例

请求

GET https://graph.microsoft.com/beta/subscriptions

响应

以下示例显示了相应的响应。

注意: 为了提高可读性,可能缩短了此处显示的响应。

HTTP/1.1 200 OK
Content-type: application/json

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#subscriptions",
  "value": [
    {
      "id": "0fc0d6db-0073-42e5-a186-853da75fb308",
      "resource": "Users",
      "applicationId": "24d3b144-21ae-4080-943f-7067b395b913",
      "changeType": "updated,deleted",
      "clientState": null,
      "notificationUrl": "https://webhookappexample.azurewebsites.net/api/notifications",
      "lifecycleNotificationUrl":"https://webhook.azurewebsites.net/api/send/lifecycleNotifications",
      "expirationDateTime": "2018-03-12T05:00:00Z",
      "creatorId": "8ee44408-0679-472c-bc2a-692812af3437",
      "latestSupportedTlsVersion": "v1_2",
      "encryptionCertificate": "",
      "encryptionCertificateId": "",
      "includeResourceData": false,
      "notificationContentType": "application/json"
    }
  ]
}

注意: 出于安全目的,不会返回 clientState 属性值。

当请求返回多页数据时,响应中包含一个 @odata.nextLink 属性,可帮助你管理结果。 若要了解详细信息,请参阅在应用中对 Microsoft Graph 数据进行分页