你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
在 Teams 互操作性聊天中启用使用 UI 库共享的文件
在 Teams 互操作性聊天(“互操作聊天”)中,我们可以在 Azure 通信服务最终用户与 Teams 用户之间启用文件共享。 请注意,“互操作聊天”不同于 Azure 通信服务聊天。 如果要在 Azure 通信服务聊天中启用文件共享,请参阅在 Azure 通信服务聊天中使用 UI 库添加文件共享。 目前,Azure 通信服务最终用户只能接受来自 Teams 用户的文件附件。 有关详细信息,请参阅 UI 库用例。
重要
文件分享功能随 CallWithChat 复合组件一起提供,无需其他设置。
下载代码
在 GitHub 上访问本教程的代码。
先决条件
- 具有活动订阅的 Azure 帐户。 有关详细信息,请参阅创建免费账户。
- 安装在某个受支持的平台上的 Visual Studio Code。
- Node.js、Active LTS 和 Maintenance LTS 版本。 可以使用
node --version
命令检查你的版本。 - 活动的通信服务资源和连接字符串。 创建通信服务资源。
- 使用 UI 库版本 1.17.0 或最新版本。
- 创建 Teams 会议并准备好会议链接。
- 熟悉 ChatWithChat Composite 的工作原理。
背景
首先,我们需要了解 Teams 互操作性聊天当前必须是 Teams 会议的一部分。 Teams 用户创建联机会议时,将创建一个聊天会话并将其与会议相关联。 若要使 Azure 通信服务最终用户能够加入聊天并开始发送/接收消息,会议参与者(Teams 用户)需要先允许他们加入通话。 否则,他们无权访问聊天。
一旦 Azure 通信服务最终用户被允许加入通话,他们就可以开始与通话中的其他参与者聊天。 在本教程中,我们将了解内联图像在互操作性聊天中的工作原理。
概述
与向 UI 库添加内联图像支持的方式类似,我们需要创建 CallWithChat
复合组件。
让我们按照 storybook 页面中的基本示例创建 ChatWithChat 复合组件。
在示例代码中,它需要 CallWithChatExampleProps
,这定义为以下代码片段:
export type CallWithChatExampleProps = {
// Props needed for the construction of the CallWithChatAdapter
userId: CommunicationUserIdentifier;
token: string;
displayName: string;
endpointUrl: string;
locator: TeamsMeetingLinkLocator | TeamsMeetingIdLocator | CallAndChatLocator;
// Props to customize the CallWithChatComposite experience
fluentTheme?: PartialTheme | Theme;
compositeOptions?: CallWithChatCompositeOptions;
callInvitationURL?: string;
};
为了能够为会议聊天启动复合组件,我们需要通过 TeamsMeetingLinkLocator
或 TeamsMeetingIdLocator
,如下所示:
{ "meetingLink": "<TEAMS_MEETING_LINK>" }
或
{ "meetingId": "<TEAMS_MEETING_ID>", "passcode": "<TEAMS_MEETING_PASSCODE>"}
这就是你需要的全部 - 无需进行其他设置即可使 Azure 通信服务最终用户能够从 Teams 用户接收文件附件!
权限
从 Teams 客户端共享文件时,Teams 用户可以选择将文件权限设置为:
- “所有人”
- “组织中的人员”
- “当前在此聊天中的人员”
- “具有现有访问权限的人员”
- “你选择的人员”
具体而言,UI 库目前仅支持“任何人”和“你选择的人员”(带电子邮件地址),不支持所有其他权限。 如果 Teams 用户发送了具有不受支持的权限的文件,则在 Azure 通信服务最终用户单击聊天线程中的文件附件时,可能会提示他们进入登录页或拒绝访问。
此外,Teams 用户的租户管理员可能会对文件共享施加限制,包括禁用某些文件访问权限或完全禁用文件共享选项。
运行代码
我们运行 npm run start
,然后你应该就能够通过 localhost:3000
访问示例应用了,如以下屏幕截图所示:
只需单击位于底部的聊天按钮即可显示聊天面板,现在如果 Teams 用户发送一些文件,你应会看到类似于以下屏幕截图的内容:
现在,如果用户单击文件附件卡,则会打开一个新选项卡,如下所示,用户可以在其中下载文件:
后续步骤
你可能还想要: