列出订阅

命名空间:microsoft.graph

根据应用程序 ID、用户和用户的角色(含租户)检索 webhook 订阅的属性和关系。

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

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

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

权限

此 API 支持以下权限范围;要了解详细信息,包括如何选择权限的信息,请参阅权限。

支持的资源 委派(工作或学校帐户) 委派(个人 Microsoft 帐户) 应用程序
aiInteraction
copilot/users/{userId}/interactionHistory/getAllEnterpriseInteractions
特定用户所属的 Copilot AI 交互。
AiEnterpriseInteraction.Read 不支持。 AiEnterpriseInteraction.Read.All、AiEnterpriseInteraction.Read.User
aiInteraction
copilot/interactionHistory/getAllEnterpriseInteractions
组织中的 Copilot AI 交互。
不支持。 不支持。 AiEnterpriseInteraction.Read.All
callRecord (/communications/callRecords) 不支持 不支持 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, 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
聊天
/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、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 不支持 Chat.Read.All、Chat.ReadWrite.All
chatMessage
/appCatalogs/teamsApps/{id}/installedToChats/getAllMessages
安装特定 Teams 应用的组织中所有聊天的聊天消息。
不支持。 不支持。 Chat.Read.WhereInstalled、Chat.ReadWrite.WhereInstalled
联系人 Contacts.Read、Subscription.Read.All Contacts.Read、Subscription.Read.All Contacts.Read
conversationMember (/teams/{id}/channels/getAllMembers) 不支持 不支持 ChannelMember.Read.All
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、Subscription.Read.All 不支持 TeamMember.Read.All
driveItem(用户的个人 OneDrive) 不支持 Files.ReadWrite、Subscription.Read.All 不支持
driveItem (OneDrive for work or school) 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
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
状态 Presence.Read.All、Subscription.Read.All 不支持 不支持
打印机 不支持 不支持 打印机。阅读.All,Printer.ReadWrite.All
printTaskDefinition 不支持 不支持 PrintTaskDefinition.ReadWrite.All
安全警报 SecurityEvents.ReadWrite.All、Subscription.Read.All 不支持 SecurityEvents.ReadWrite.All
shift
(/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
团队(/teams - 组织中的所有团队) 不支持 不支持 Team.ReadBasic.All,TeamSettings.Read.All
团队 (/teams/{id}) Team.ReadBasic.All、TeamSettings.Read.All、Subscription.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、Subscription.Read.All Tasks.ReadWrite、Subscription.Read.All 不支持
user User.Read.All、Subscription.Read.All User.Read.All User.Read.All

注意:标有 * 的权限用于特定于资源的同意。

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

基本方案

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

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

注意:这适用于个人 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/v1.0/subscriptions

响应

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

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

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

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$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 数据进行分页。