列出订阅
命名空间: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 数据进行分页。