集成 Microsoft Teams
部署 Microsoft Teams 集成以安排 Teams Meetings、从头开始或基于现有团队创建团队、向现有团队添加新频道、向特定频道发送消息以及接收有关新创建频道的通知。
注意:
我们希望得到你的反馈!请在使 用此集成模板时提供反馈 。对于任何问题,我们的团队还将每天监控我们的 专门论坛 。
有关适用于 MS Teams 的开箱即用微应用的全面详细信息,请参阅 使用 Microsoft Teams 微应用。
查看必备项
这些先决条件假定管理员是组织的 MS Teams 集成设置的一部分。此 MS Teams 管理员帐户必须具有用户信息的完全读取权限。在与 Microsoft Teams 设置此集成后,您将需要以下工件才能在 Citrix Workspace 微应用中添加集成:
- 基本 URL:
https://graph.microsoft.com/
- 授权 URL:
https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/authorize
- 令牌 URL:
https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token
- CLIENT ID:客户端 ID 是表示授权服务器唯一的客户端注册信息的字符串。
- SECRET:客户端密钥是设置目标应用程序集成时发出的唯一字符串。
注意:
建议您始终使用 OAuth 2.0 作为服务身份验证方法(如果可用)。OAuth 2.0 可确保您的集成符合配置的微应用的最大安全合规性。
将 Citrix Gateway 配置为支持 MS Teams 的单点登录,这样一旦用户登录,他们将自动重新登录,而无需再次输入凭据。有关配置 SSO 的更多信息,请参阅 Citrix Gateway 服务。
权限
集成需要定期访问您的 MS Teams 实例,因此我们建议创建一个专用用户帐户。您可以在 https://docs.microsoft.com/en-us/graph/permissions-reference 中查看权限/特权。
此服务帐号必须具有以下权限范围设置之一:
- 全局管理员 或
- 应用管理员 和 Teams 服务管理员
角色的详细信息:
- 全局管理员 角色授予管理员对 Microsoft Teams 中委派权限的许可,并允许 API 访问。
- 应用程序管理员 角色是授予管理员对委派权限的许
- 访问频道 API 需要Teams 服务管理员 角色。
可以对特定资源发出的 API 请求数量有限,因此我们建议您执行以下操作:
- Microsoft Teams API 限制表单链接: https://docs.microsoft.com/en-us/graph/throttling#microsoft-teams-service-limits
创建一个新的服务帐号
在此处登录:https://portal.azure.com。有关 Microsoft Teams 入门的更多信息,请参阅 https://support.microsoft.com/en-us/office/how-do-i-get-microsoft-teams-fc7f1634-abd3-4f26-a597-9df16e4ca65b。
配置 OAuth 服务器
将 OAuth 服务器配置为通过 MS Teams 集成读取数据。
- 使用您的服务帐户登录到 https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredApps。
- 选择 “ 新注册”。
- 对于 支持的帐户类型,选择任何组织目录中的帐户(任何 Azure AD 目录-多租户)。
-
填写必填字段,然后在重定向 URL 字段中输入此集成的以下授权 重定向 URL :
https://{yourmicroappserverurl}/admin/api/gwsc/auth/serverContext
- 选择注册。
- 复制并保存屏幕上显示的 应用程序(客户端)ID和目录(租户)ID。配置集成时,可以将这些详细信息用于服务身份验证 。
- 在 调用 API下选择查看权限。选择添加权限,然后选择Microsoft Graph 磁贴。
-
选择 委派权限 磁贴并添加下面列出的范围:
Group.Read.All User.Read.All GroupMember.Read.All Channel.ReadBasic.All
- 选择 为 Citrix Systems 授予管理员同意,然后选择 是。
- 从左侧面板中选择 证书和密 码,然后选择 新建客户端密钥。为到期有效期选择 从不 ,然后选择 添加。
- 从客户端密钥中复制并保存 Value 。
配置 OAuth 客户端
将 OAuth 客户端配置为通过 MS Teams 集成回写数据。
- 使用您的服务帐户登录到 https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredApps。
- 选择 “ 新注册”。
- 对于 支持的帐户类型,选择任何组织目录中的帐户(任何 Azure AD 目录-多租户)。
-
填写必填字段,然后在重定向 URL 字段中输入此集成的以下授权 重定向 URL :
https://{yourmicroappserverurl}/app/api/auth/serviceAction/callback
- 选择注册。
- 复制并保存屏幕上显示的 应用程序(客户端)ID和目录(租户)ID。配置集成时,可以将这些详细信息用于服务操作身份验证 。
- 在 调用 API下选择查看权限。选择添加权限,然后选择Microsoft Graph 磁贴。
-
选择 委派权限 磁贴并添加下面列出的范围:
Channel.Create Group.ReadWrite.All ChannelMessage.Send Calendars.ReadWrite
- 选择 为 Citrix Systems 授予管理员同意,然后选择 是。
- 从左侧面板中选择 证书和密 码,然后选择 新建客户端密钥。为到期有效期选择 从不 ,然后选择 添加。
- 从客户端密钥中复制并保存 Value 。
将集成添加到 Citrix Workspace 微应用
将 Microsoft Teams 集成添加到 Citrix Workspace 微应用程序以连接到您的应用程序。身份验证选项是预先选择的。确保在完成该过程时选择了这些选项。这样可以提供带有预配置通知和操作的开箱即用的微应用程序,这些通知和操作可在工作区中使用
请按照以下步骤进行操作:
- 在 微应用集成 页面中,选择 添加新集成,然后 从 Citrix 提供的模板中添加新集成。
- 选择 Microsoft Teams 磁贴。
- 输入 集成的集成名称 。
- 输入 连接器参数。
- 输入实例 基本 URL:
https://graph.microsoft.com/
- 从图标库中选择用于集成的图标,或将其保留为默认图标。
- 输入实例 基本 URL:
-
在 服务身份验证下,从身份验证 方法 菜单中选择 OAuth 2.0 ,然后填写身份验证详细信息。身份验证选项是预先选择的。确保在完成该过程时选择了这些选项。使用 OAuth 2.0 安全协议为委派访问生成请求/授权令牌。建议您始终使用 OAuth 2.0 作为可用的服务身份验证方法。OAuth 2.0 可确保您的集成符合配置的微应用的最大安全合规性。
- 从授权类型菜单中选择授权码。这会授予客户端用来交换访问令牌的临时代码。该代码从授权服务器获取,您可以在其中查看客户端请求的信息。只有这种授权类型才能启用安全的用户模拟。这将显示您在注册应用程序时使用的 回调 URL。
- 从令牌授权菜单中选择请求正文。
-
授权 URL 是预先填写的:
https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/authorize
-
令牌 URL 已预先填充:
https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token
- 确保为 Scope 输入以下内容:
https://graph.microsoft.com/default offline_access
- 输入您的 客户 ID。客户端 ID 是表示授权服务器特有的客户端注册信息的字符串。当你配置 OAuth 服务器时,你会收集这个和密钥。您需要添加在集成配置页面上看到的 回调 URL 。
- 输入您的 客户端密钥。客户端密钥是设置目标应用程序集成时发出的唯一字符串。
-
在服务操作身份验证下,启用在操作使用单独的用户身份验证开关。服务操作身份验证在服务操作级别进行身份验证。身份验证选项是预先选择的。确保在完成该过程时选择了这些选项。
- 从身份验证方法菜单中选择 OAuth 2.0,然后填写身份验证详细信息。
- 从令牌授权菜单中选择请求正文。
-
授权 URL 是预先填写的:
https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/authorize
-
令牌 URL 已预先填充:
https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token
- 确保为 Scope 输入以下内容:
https://graph.microsoft.com/default offline_access
- 输入您的 客户 ID。客户端 ID 是表示授权服务器特有的客户端注册信息的字符串。您在配置 OAuth 客户端时收集此密钥和密钥。您需要添加在集成配置页面上看到的 回调 URL 。
- 输入您的 客户端密钥。客户端密钥是设置目标应用程序集成时发出的唯一字符串。
-
启用 启用请求速率限制 开关。在 请求数 中输入 60,在 时间间隔中输入 1 秒。
- (可选)启用 日志记录 切换以保留 24 小时的日志记录以用于支持目的。
- 选择 保存 以继续。
- 在 OAuth 授权下,选择 授权 以使用您的服务帐户登录。出现一个带有 Microsoft 登录屏幕的弹出窗口。
- 输入您的服务帐户用户名和密码,然后选择 登录。
- 选择 接受。
注意:
- 建议将完全同步间隔设置为 每日 ,以定期将数据从 MS Graph 刷新到微应用平台,并及时接收任何新创建的频道的通知。
- 由于当前可用的 40 个时区是在 Create Meeting 微应用中硬编码的,因此添加任何其他时区都需要管理员手动添加它们。
- 当用户使用 添加频道或创建团队微应用创建频道 时,默认情况下,新创建的频道在 MS Teams 中处于隐藏状态。
- 我们目前已在 Create Team 微应用中对模板列表进行了硬编码。要添加任何其他模板类型,管理员必须手动添加它们。
- 要仅填充与 Microsoft365(Teams)相关的群组/频道,我们使用 组 端点中使用的过滤器:
filter=groupTypes/any(g:g+eq+'Unified'
。请注意,+
它已被空格替换。- 如果用户在 “ 发送消息 ” 和 “ 添加频道 微应用” 的 “选择团队” 组件中获得其他团队,请使用 Microsoft 的 beta 端点
https://graph.microsoft.com/beta/groups?$filter=grouptypes/any(g:g eq 'Unified')
和resourceProvisioningOptions/any(p:p eq 'Team')
仅筛选与 MS Teams 相关的团队(组)。
微应用集成 页面随即打开,其中包含您添加的集成及其微应用。在这里,你可以添加另一个集成,继续设置开箱即用的微应用,或者为此集成创建新的微应用。
现在,您已准备好设置和运行第一次数据同步。由于可以将大量数据从集成应用程序提取到微应用平台,因此我们建议您使用 “ 表 ” 页面筛选实体以进行首次数据同步,以加快同步速度。有关更多信息,请参阅验证所需实体。有关同步规则、不符合其计划的同步和否决规则的完整信息,请参阅同步数据。
有关 API 端点和表实体的更多详细信息,请参阅 Microsoft Teams 连接器规范。
使用 MS Teams 微应用
现有的应用程序集成随现成的微应用程序一起提供。从这些微应用开始,然后根据您的需求自定义它们。
添加频道: 向现有团队添加新频道。
通知或页面 | 用例工作流 |
---|---|
添加频道页面 | 提供向现有团队添加频道的表单,其中包含以下详细信息:“团队”(“团队” 下拉列表)、频道名称和说明。 |
创建会议: 根据用户偏好安排 MS Teams 会议。
通知或页面 | 用例工作流 |
---|---|
“创建会议” 页 | 提供根据用户首选项安排会议的表单,其中包含以下详细信息:会议标题、开始日期/时间、结束日期/时间、时区、重复(一次、每天、每周、每月)、说明和会议与会者。 |
创建团队: 根据用户偏好从头开始或基于现有团队创建团队。此外,每当为任何团队创建频道时,团队所有者都会收到通知。
通知或页面 | 用例工作流 |
---|---|
新频道已添加通知 | 向团队添加新频道后,团队所有者会收到通知。 |
频道详情页 | 提供包含频道详细信息和频道成员的新创建频道的只读视图。 |
创建团队/频道页面 | 提供两个按钮;“ 从头开始 ” 导航至 “从头开始创建团队” 页面和 “ 从现有团队 ” 导航至 “从组创建团队” 页面。 |
“从头开始创建团队” 页 | 提供包含以下详细信息的从头开始创建团队的表单:团队名称、团队描述、团队类型(私有/公共)、模板(使用不同的模板选项的下拉列表)、频道名称、频道说明、添加到收藏夹复选框、选项卡名称、内容 URL、成员设置和发现设置。 |
“从组创建团队” 页 | 提供从现有团队创建团队的表单,其中包含以下详细信息:“团队”(“团队” 下拉列表)、“团队名称”、“团队类型”(“专用/公共”)、“团队描述” 和 “要从原始团队中包括的部件”。 |
发送消息: 向任何团队中的特定频道发送消息。
通知或页面 | 用例工作流 |
---|---|
向频道页面发送消息 | 提供向现有团队的频道发送消息的表单,其中包含以下详细信息:“团队”(“团队” 下拉列表)、“频道”(“频道” 下拉列表)和 “消息”。 |