列出订阅

命名空间:microsoft.graph

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

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

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

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

权限

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

支持的资源 委派(工作或学校帐户) 委派(个人 Microsoft 帐户) 应用程序
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
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
contact 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 数据进行分页