将 Microsoft Graph API 与 Microsoft Teams 结合使用

Microsoft Teams 是 Microsoft 365 中基于聊天的工作区,可提供对特定于团队的日历、文件、OneNote 笔记、规划器计划、排班计划等对象的内置访问权限。

常见用例

用例 REST 资源 另请参阅
创建和管理团队、组和频道 团队频道 创建团队列出团队创建频道
在 Microsoft Teams 应用目录中添加选项卡、管理或安装应用 teamsTabteamsAppInstallation 创建 teamsTab列出 teamsTab列出应用
创建频道和聊天以发送和接收聊天消息 频道聊天chatMessage 创建频道列出频道发送 chatMessage
使用标记根据团队中的常见属性对用户或组进行分类 teamworkTagteamworkTagMember 列出 teamworkTag创建 teamworkTag
创建和接听呼叫、通话记录或检索会议坐标 callcallRecords 答案邀请参与者
将机器人连接到呼叫, (IVR) 实现交互式语音响应 IVR 方案
创建和检索联机会议或检查用户状态和活动 onlineMeetings状态 create onlineMeetingsmeetingAttendanceReport
在组织中创建和管理与轮班、日程安排、工时卡或休假的劳动力集成 workforceIntegrationscheduleshifttimeOfftimeOffReason 创建 workforceIntegration创建计划创建班次创建 timeOff
使用员工学习 API 与 Viva Learning 员工学习learningProviderlearningContent list learningProviderslist learningContents

Microsoft Teams 限制

Microsoft Teams 的已测试性能和容量限制将记录在 Microsoft Teams 限制和规范中。 无论是直接使用 Microsoft Teams 还是使用 Microsoft Graph API,这些限制均适用。 由于每个团队都有一个对应的组,并且每个组都是一个目录对象,因此对组数目录对象数目(“资源”) 的限制也可以发挥作用。

频道内的文件存储在 SharePoint 中;SharePoint online 限制适用。

另请参阅 Microsoft Teams 服务限制

用户和组

在 Microsoft Graph 中,Microsoft Teams 由资源表示。 Microsoft Teams 和 Microsoft 365 组均可满足组协作的各种需求。 几乎所有基于组的功能都适用于 Microsoft Teams 和 Microsoft 365 组,例如组日历、文件、笔记、照片、计划等。 团队与 Microsoft 365 组之间的主要区别在于成员之间的通信模式。 团队成员的通信方式是在特定团队的上下文中进行持久聊天。 Microsoft 365 组成员通过组对话进行通信,它们是在 Outlook 的组上下文中发生的电子邮件对话。

具有团队的任何组都具有 resourceProvisioningOptions 属性,它包含“团队”。

注释:可以更改 Group.resourceProvisioningOptions 属性。 请不要在该集合中添加或删除“团队”;否则,当你列出所有团队时,你将获得错误结果。

以下是团队和组之间的 API 级别的区别:

Microsoft Teams 中的成员身份更改

用例 谓词 URL
添加成员 POST /teams/{team-id}/members
删除成员 DELETE /teams/{team-id}/members/{membership-id}
更新成员角色 PATCH /teams/{team-id}/members/{membership-id}
更新团队 PATCH /teams/{team-id}

轮询要求

如果应用程序轮询查看是否更改了某资源,则此操作每天只能执行一次。 (teamsAsyncOperation 是一种例外情况,因为需要频繁对其进行轮询。)如果需要更频繁了解更改,应创建指向该资源的订阅并接收更改通知 (webhooks)。 如果找不到对所需订阅类型的支持,建议通过 Microsoft 365 开发人员平台创意论坛提供反馈。

轮询新邮件时,必须指定支持的日期范围。 有关详细信息,请参阅 get channel messages delta

轮询是指对资源重复进行 GET 操作来了解资源是否变更。 只要同一资源未进行轮询,就可以一天多次对该资源进行 GET 操作。 例如,每次用户访问/刷新网页时都可以执行 GET /me/joinedTeams,但在每隔 30 秒执行一次的循环中执行 GET /me/joinedTeams 来刷新该网页则不可取。

未遵循这些轮询要求的应用将被视为违反了 Microsoft API 使用条款。 这可能导致额外的限制或暂停/终止使用 Microsoft API。