Microsoft图形 API更改通知

命名空间:microsoft.graph

Microsoft Graph REST API 可以通过各种终结点(包括 Webhook、事件中心和事件网格)将更改通知传递到客户端。 若要了解如何订阅和接收应用程序的通知,请参阅 设置用户数据更改通知

应用可以订阅表中所列Microsoft Graph 资源的更改。 对标有星号 () * 的资源的订阅仅在终结点上 /beta 可用。

注意

对于Microsoft Teams 资源, 每个组织的订阅总数限制 在租户 中的所有 Teams 更改通知订阅 之间累积共享。 它包括为不同的 Teams 资源(例如聊天、聊天消息、通话脚本、通话录音、频道、团队和对话成员)创建的订阅,这些订阅 都计入同一组织配额。 当活动 Teams 订阅的总数量达到此限制时, Teams 资源的任何其他订阅创建请求将失败 并显示 403 Forbidden 错误。

资源 支持的资源路径 限制
云打印 打印机 当打印作业准备好下载 (jobFetchable 事件) 时更改: /print/printers/{id}/jobs -
云打印 printTaskDefinition 当队列中存在有效作业时 (jobStarted 事件) 的更改: /print/printtaskdefinition/{id}/tasks -
Copilot aiInteraction 特定用户所属的 Copilot AI 交互: copilot/users/{userId}/interactionHistory/getAllEnterpriseInteractions

在组织中协作处理 AI 交互: copilot/interactionHistory/getAllEnterpriseInteractions
最大订阅配额:
  • 每个应用和租户组合 (,用于跟踪跨租户的 AI 交互的订阅) :1
  • 每个应用和用户组合 (用于跟踪 AI 交互的订阅,特定用户是) 的一部分: 1
  • 跟踪 AI 交互的订阅的每个用户 (特定用户是) 的一部分:10 个订阅。
  • 每个组织:总共 10,000 个订阅。
  • OneDrive(个人版)上的 driveItem 更改任何文件夹的层次结构中的内容:/users/{id}/drive/root -
    OneDrive 上的 driveItem ,适合工作或学校 根文件夹层次结构中内容的更改: /drives/{id}/root/users/{id}/drive/root -
    对所有组的更改: /groups

    对特定组的更改: /groups/{id}

    对特定组所有者的更改: /groups/{id}/owners

    对特定组成员的更改: /groups/{id}/members
    最大订阅配额:
  • 每个应用 (所有租户的总) :50,000 个订阅总数。
  • 所有应用程序的每租户 () :所有应用的总订阅数为 1,000 个。
  • 每个应用和租户组合:总共 100 个订阅。

    Azure AD B2C 租户不支持。

    注意: 组的创建和软删除也会触发 updatedchangeType
  • Microsoft Entra运行状况监视警报 对所有运行状况监视警报的更改: /reports/healthmonitoring/alerts

    对特定类型的警报的更改: /reports/healthmonitoring/alert 请求 notificationQueryOptions 有效负载中的 属性设置为 $filter=alertType eq '{alertType}'
    -
    SharePoint 网站下的列表 列表中内容的更改: /sites/{site-id}/lists/{list-id} -
    Microsoft 365 组对话 对组对话的更改: groups/{id}/conversations -
    Outlook 邮件 对用户邮箱中所有邮件的更改: /users/{id}/messages/me/messages

    对用户收件箱中邮件的更改: /users/{id}/mailFolders('inbox')/messages/me/mailFolders('inbox')/messages
    对于所有应用程序,每个邮箱最多允许 1,000 个活动订阅。
    Outlook 事件 对用户邮箱中所有事件的更改: /users/{id}/events/me/events 对于所有应用程序,每个邮箱最多允许 1,000 个活动订阅。
    Outlook 个人联系人 对用户邮箱中所有个人联系人的更改: /users/{id}/contacts/me/contacts 对于所有应用程序,每个邮箱最多允许 1,000 个活动订阅。
    安全警报 对特定警报的更改: /security/alerts/{id}

    对筛选警报的更改: /security/alerts/?$filter={parameters}
    有关详细信息,请参阅安全性 API警报
    Teams 审批 对租户中所有审批的更改: /solutions/approval/approvalItems 最大订阅配额:
  • 每个租户(适用于所有组合的应用):总计 1000 个所有应用订阅
  • 每个应用和租户组合:1 个订阅。
  • Teams callRecord 更改 所有 呼叫记录: /communications/callRecords

    对筛选的呼叫记录的更改: /communications/callRecords?$filter={parameters}
    有关详细信息,请参阅 呼叫记录的更改通知

    最大订阅配额:
  • 每个组织:总共 100 个订阅。

    注意: 创建呼叫记录也会触发 updatedchangeType
  • Teams callRecording 组织中的所有录制内容: communications/onlineMeetings/getAllRecordings

    特定会议的所有录制内容: communications/onlineMeetings/{onlineMeetingId}/recordings

    在由特定用户组织的会议中可用的通话记录: users/{id}/onlineMeetings/getAllRecordings

    在安装了特定 Teams 应用的会议中可用的通话记录: appCatalogs/teamsApps/{id}/installedToOnlineMeetings/getAllRecordings *
    最大订阅配额:
  • 每个应用和联机会议组合:1
  • 每个应用和用户组合:1
  • 每个用户 (,用于跟踪由用户组织的所有 onlineMeeting 中的记录的订阅) :10 个订阅。
  • 每个组织:总共 10,000 个订阅。
  • Teams callTranscript 组织中的所有脚本: communications/onlineMeetings/getAllTranscripts

    特定会议的所有脚本: communications/onlineMeetings/{onlineMeetingId}/transcripts

    在由特定用户组织的会议中可用的通话记录: users/{id}/onlineMeetings/getAllTranscripts

    在安装了特定 Teams 应用的会议中可用的通话记录: appCatalogs/teamsApps/{id}/installedToOnlineMeetings/getAllTrancripts *
    最大订阅配额:
  • 每个应用和联机会议组合:1
  • 每个应用和用户组合:1
  • 按用户 (订阅跟踪由用户组织的所有 onlineMeeting 中的脚本) :10 个订阅。
  • 每个组织:总共 10,000 个订阅。
  • Teams 聊天 对租户中任何聊天的更改: /chats

    对特定聊天的更改: /chats/{id}

    使用 notifyOnUserSpecificProperties 查询参数对特定聊天所做的更改: /chats/{id}?notifyOnUserSpecificProperties={Boolean}

    对安装了特定 Teams 应用的组织中所有聊天的更改: /appCatalogs/teamsApps/{id}/installedToChats

    对特定用户所属的所有聊天的更改: /users/{id}/chats

    使用 notifyOnUserSpecificProperties 查询参数更改特定用户所属的所有聊天: /users/{id}/chats?notifyOnUserSpecificProperties={Boolean}
    最大订阅配额:
  • 每个应用和聊天组合:1 个订阅。
  • 每个组织:总共 10,000 个订阅。
  • 每个用户 (用于跟踪特定用户属于) 的所有聊天的订阅:10 个订阅。
  • Teams chatMessage 对所有团队所有频道中聊天消息的更改: /teams/getAllMessages

    对特定频道中的聊天消息的更改: /teams/{id}/channels/{id}/messages

    更改所有聊天中的聊天消息: /chats/getAllMessages

    对特定聊天中聊天消息的更改: /chats/{id}/messages

    对特定用户的所有聊天中聊天消息的更改是以下部分的一部分: /users/{id}/chats/getAllMessages

    对安装了特定 Teams 应用的组织中所有聊天的聊天消息的更改: /appCatalogs/teamsApps/{id}/installedToChats/getAllMessages
    最大订阅配额:
  • 每个应用和频道或聊天组合:1 个订阅。
  • 跟踪所有聊天中聊天消息的订阅的每个用户 (,用户是) :10 个订阅的一部分。
  • 每个组织:总共 10,000 个订阅。
  • Teams 频道 更改所有团队中的频道: /teams/getAllChannels

    对特定团队中的频道所做的更改: /teams/{id}/channels
    最大订阅配额:
  • 每个应用和团队组合:1 个订阅。
  • 每个组织:总共 10,000 个订阅。
  • Teams conversationMember 对特定团队中成员身份的更改: /teams/{id}/members

    更改特定团队下的所有频道的成员身份: teams/{id}/channels/getAllMembers

    对特定聊天中成员身份的更改: /chats/{id}/members

    对安装了特定 Teams 应用的组织中所有聊天的成员身份的更改: /appCatalogs/teamsApps/{id}/installedToChats/getAllMembers

    更改所有聊天中的成员身份: /chats/getAllMembers
    最大订阅配额:
  • 每个应用和团队组合:1 个订阅。
  • 每个组织:总共 10,000 个订阅。
  • Teams onlineMeeting* 对联机会议的更改: /communications/onlineMeetings(joinWebUrl='{encodedJoinWebUrl}')/meetingCallEvents 不支持使用 $select 仅返回所选属性。 丰富通知包含已更改实例的所有属性。 每个联机会议每个应用程序允许一个订阅。 有关详细信息,请参阅 获取Microsoft Teams 会议呼叫事件更新的更改通知
    Teams 状态 对单个用户状态的更改: /communications/presences/{id}

    对多个用户状态的更改: /communications/presences?$filter=id in ({id},{id}...)
    多用户状态的订阅限制为 650 个不同的用户。 不支持使用 $select 仅返回所选属性。 丰富通知包含已更改实例的所有属性。 每个委派用户允许每个应用程序一个订阅。 有关详细信息,请参阅 在 Microsoft Teams 中获取状态更新的更改通知
    Teams 团队 对租户中任何团队的更改: /teams

    对特定团队的更改: /teams/{id}
    最大订阅配额:
  • 每个应用和团队组合:1 个订阅。
  • 每个组织:总共 10,000 个订阅。
  • Teams Shifts offerShiftRequest 对团队中任何产品/服务转移请求的更改: /teams/{id}/schedule/offerShiftRequests 最大订阅配额:
  • 每个应用和资源路径组合:每个租户 1 个订阅。
  • 每个资源路径和用户组合:每个租户 10 个委派的用户订阅。
  • Teams Shifts openShiftChangeRequest 对团队中任何打开的班次请求的更改: /teams/{id}/schedule/openShiftChangeRequests 最大订阅配额:
  • 每个应用和资源路径组合:每个租户 1 个订阅。
  • 每个用户和资源路径组合:10 个订阅。
  • 每个组织:总共 10,000 个订阅。
  • 团队班 次班次 对团队中任何班次的更改: /teams/{id}/schedule/shifts 最大订阅配额:
  • 每个应用和资源路径组合:每个租户 1 个订阅。
  • 每个用户和资源路径组合:10 个订阅。
  • 每个组织:总共 10,000 个订阅。
  • Teams 班次 swapShiftsChangeRequest 对团队中任何交换班次请求的更改: /teams/{id}/schedule/swapShiftsChangeRequests 最大订阅配额:
  • 每个应用和资源路径组合:每个租户 1 个订阅。
  • 每个用户和资源路径组合:10 个订阅。
  • 每个组织:总共 10,000 个订阅。
  • Teams Shifts timeOffRequest 对团队中任何休假请求的更改: /teams/{id}/schedule/timeOffRequests 最大订阅配额:
  • 每个应用和资源路径组合:每个租户 1 个订阅。
  • 每个用户和资源路径组合:10 个订阅。
  • 每个组织:总共 10,000 个订阅。
  • todoTask 对特定任务列表中所有任务的更改: /me/todo/lists/{todoTaskListId}/tasks -
    user 对所有用户的更改: /users

    对特定用户的更改: /users/{id}
    最大订阅配额:
  • 每个应用 (所有租户的总) :50,000 个订阅总数。
  • 所有应用程序的每个租户 (合并) :所有应用的总订阅数为 1,000 个
  • 每个应用和租户组合:总共 100 个订阅。

    个人Microsoft帐户(如 outlook.com)不受支持。

    Azure AD B2C 租户不支持。

    注意: 创建和软删除用户也会触发 updatedchangeType
  • 注意

    许多资源对可针对该资源进行的订阅数有限制或配额。 超过该限制时,尝试创建订阅将导致 403 Forbidden 错误响应。 错误响应 的消息 属性将解释已超出的限制。

    其中一些资源支持包含资源数据) 的丰富通知 (通知。 有关详细信息,请参阅 设置包含资源数据的更改通知

    注意:以 /users/{id} 开头的任何资源路径还可接受 /me 以引用已登录的用户。