微应用

集成 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 请求数量有限,因此我们建议您执行以下操作:

创建一个新的服务帐号

在此处登录: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 集成读取数据。

  1. 使用您的服务帐户登录到 https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredApps
  2. 选择 “ 新注册”。
  3. 对于 支持的帐户类型,选择任何组织目录中的帐户(任何 Azure AD 目录-多租户)
  4. 填写必填字段,然后在重定向 URL 字段中输入此集成的以下授权 重定向 URL

    https://{yourmicroappserverurl}/admin/api/gwsc/auth/serverContext

  5. 选择注册
  6. 复制并保存屏幕上显示的 应用程序(客户端)ID和目录(租户)ID。配置集成时,可以将这些详细信息用于服务身份验证
  7. 调用 API下选择查看权限。选择添加权限,然后选择Microsoft Graph 磁贴。
  8. 选择 委派权限 磁贴并添加下面列出的范围:

    Group.Read.All User.Read.All GroupMember.Read.All Channel.ReadBasic.All

  9. 选择 为 Citrix Systems 授予管理员同意,然后选择
  10. 从左侧面板中选择 证书和密 码,然后选择 新建客户端密钥。为到期有效期选择 从不 ,然后选择 添加
  11. 从客户端密钥中复制并保存 Value

配置 OAuth 客户端

将 OAuth 客户端配置为通过 MS Teams 集成回写数据。

  1. 使用您的服务帐户登录到 https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredApps
  2. 选择 “ 新注册”。
  3. 对于 支持的帐户类型,选择任何组织目录中的帐户(任何 Azure AD 目录-多租户)
  4. 填写必填字段,然后在重定向 URL 字段中输入此集成的以下授权 重定向 URL

    https://{yourmicroappserverurl}/app/api/auth/serviceAction/callback

  5. 选择注册
  6. 复制并保存屏幕上显示的 应用程序(客户端)ID和目录(租户)ID。配置集成时,可以将这些详细信息用于服务操作身份验证
  7. 调用 API下选择查看权限。选择添加权限,然后选择Microsoft Graph 磁贴。
  8. 选择 委派权限 磁贴并添加下面列出的范围:

    Channel.Create Group.ReadWrite.All ChannelMessage.Send Calendars.ReadWrite

  9. 选择 为 Citrix Systems 授予管理员同意,然后选择
  10. 从左侧面板中选择 证书和密 码,然后选择 新建客户端密钥。为到期有效期选择 从不 ,然后选择 添加
  11. 从客户端密钥中复制并保存 Value

将集成添加到 Citrix Workspace 微应用

将 Microsoft Teams 集成添加到 Citrix Workspace 微应用程序以连接到您的应用程序。身份验证选项是预先选择的。确保在完成该过程时选择了这些选项。这样可以提供带有预配置通知和操作的开箱即用的微应用程序,这些通知和操作可在工作区中使用

请按照以下步骤进行操作:

  1. 微应用集成 页面中,选择 添加新集成,然后 从 Citrix 提供的模板中添加新集成。
  2. 选择 Microsoft Teams 磁贴。
  3. 输入 集成的集成名称
  4. 输入 连接器参数
    • 输入实例 基本 URLhttps://graph.microsoft.com/
    • 从图标库中选择用于集成的图标,或将其保留为默认图标。
  5. 服务身份验证下,从身份验证 方法 菜单中选择 OAuth 2.0 ,然后填写身份验证详细信息。身份验证选项是预先选择的。确保在完成该过程时选择了这些选项。使用 OAuth 2.0 安全协议为委派访问生成请求/授权令牌。建议您始终使用 OAuth 2.0 作为可用的服务身份验证方法。OAuth 2.0 可确保您的集成符合配置的微应用的最大安全合规性。

    1. 授权类型菜单中选择授权码。这会授予客户端用来交换访问令牌的临时代码。该代码从授权服务器获取,您可以在其中查看客户端请求的信息。只有这种授权类型才能启用安全的用户模拟。这将显示您在注册应用程序时使用的 回调 URL
    2. 令牌授权菜单中选择请求正文
    3. 授权 URL 是预先填写的: https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/authorize
    4. 令牌 URL 已预先填充:https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token
    5. 确保为 Scope 输入以下内容: https://graph.microsoft.com/default offline_access
    6. 输入您的 客户 ID。客户端 ID 是表示授权服务器特有的客户端注册信息的字符串。当你配置 OAuth 服务器时,你会收集这个和密钥。您需要添加在集成配置页面上看到的 回调 URL
    7. 输入您的 客户端密钥。客户端密钥是设置目标应用程序集成时发出的唯一字符串。
  6. 服务操作身份验证下,启用在操作使用单独的用户身份验证开关。服务操作身份验证在服务操作级别进行身份验证。身份验证选项是预先选择的。确保在完成该过程时选择了这些选项。

    1. 身份验证方法菜单中选择 OAuth 2.0,然后填写身份验证详细信息。
    2. 令牌授权菜单中选择请求正文
    3. 授权 URL 是预先填写的: https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/authorize
    4. 令牌 URL 已预先填充:https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token
    5. 确保为 Scope 输入以下内容: https://graph.microsoft.com/default offline_access
    6. 输入您的 客户 ID。客户端 ID 是表示授权服务器特有的客户端注册信息的字符串。您在配置 OAuth 客户端时收集此密钥和密钥。您需要添加在集成配置页面上看到的 回调 URL
    7. 输入您的 客户端密钥。客户端密钥是设置目标应用程序集成时发出的唯一字符串。
  7. 启用 启用请求速率限制 开关。在 请求数 中输入 60,在 时间间隔中输入 1 秒。

  8. (可选)启用 日志记录 切换以保留 24 小时的日志记录以用于支持目的。
  9. 选择 保存 以继续。
  10. OAuth 授权下,选择 授权 以使用您的服务帐户登录。出现一个带有 Microsoft 登录屏幕的弹出窗口。
    1. 输入您的服务帐户用户名和密码,然后选择 登录
    2. 选择 接受服务验证

注意:

  • 建议将完全同步间隔设置为 每日 ,以定期将数据从 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、成员设置和发现设置。
“从组创建团队” 页 提供从现有团队创建团队的表单,其中包含以下详细信息:“团队”(“团队” 下拉列表)、“团队名称”、“团队类型”(“专用/公共”)、“团队描述” 和 “要从原始团队中包括的部件”。

发送消息: 向任何团队中的特定频道发送消息。

通知或页面 用例工作流
向频道页面发送消息 提供向现有团队的频道发送消息的表单,其中包含以下详细信息:“团队”(“团队” 下拉列表)、“频道”(“频道” 下拉列表)和 “消息”。
集成 Microsoft Teams