你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
在 Teams 互操作聊天或 互操作聊天中,我们可以在 Azure 通信服务终端用户和 Teams 用户之间启用文件共享。 Interop Chat 与 Azure 通信服务聊天不同。 若要在 Azure 通信服务聊天中启用文件共享,请参阅 在 Azure 通信服务聊天中使用 UI 库添加文件共享。 目前,Azure 通信服务最终用户只能接受来自 Teams 用户的文件附件。 有关详细信息,请参阅 UI 库用例。
Important
文件共享功能附带 CallWithChat 复合版,无需添加任何设置。
下载代码
在 UI 库示例 - 使用 UI 库 Teams 互作会议聊天进行文件共享时访问本教程的代码。
Prerequisites
- 具有活动订阅的 Azure 帐户。 有关详细信息,请参阅创建免费账户。
- 安装在某个受支持的平台上的 Visual Studio Code。
-
Node.js Active LTS 和 Maintenance LTS 版本。 可以使用
node --version命令检查你的版本。 - 活动的通信服务资源和连接字符串。 创建通信服务资源。
- 使用 UI 库版本 1.17.0 或最新版本。
- 创建 Teams 会议并准备好会议链接。
- 熟悉 ChatWithChat 组件 的工作原理。
Background
Teams 互操作聊天需要是现有 Teams 会议的一部分。 当 Teams 用户创建联机会议时,将创建一个聊天会话并将其与会议相关联。 若要启用加入聊天并开始发送/接收消息的 Azure 通信服务最终用户,会议参与者(Teams 用户)需要首先允许他们加入呼叫。 否则,他们无权访问聊天。
Azure 通信服务最终用户进入呼叫后,他们可以开始与呼叫中的其他参与者聊天。 本文介绍嵌入式图像共享在 Teams 跨平台聊天中的工作原理。
Overview
与向 UI 库添加内联图像支持的方式类似,需要创建 CallWithChat 复合。
若要创建 ChatWithChat Composite,请参阅 CallWithChatComposite 指南。
在示例代码中,它需要 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>" }
Or
{ "meetingId": "<TEAMS_MEETING_ID>", "passcode": "<TEAMS_MEETING_PASSCODE>"}
就是这样! 不需要任何其他设置才能使 Azure 通信服务最终用户能够从 Teams 用户接收文件附件!
Permissions
从 Teams 客户端共享文件时,Teams 用户可以选择将文件权限设置为:
- "Anyone"
- “组织中的人员”
- “当前在此聊天中的人员”
- “具有现有访问权限的人员”
- “你选择的人员”
具体而言,UI 库目前仅支持“任何人”和“你选择的人员”(带电子邮件地址),不支持所有其他权限。 如果 Teams 用户发送了权限不受支持的文件,则当用户单击聊天会话中的文件附件时,系统可能会提示 Azure 通信服务最终用户登录或拒绝访问。
此外,Teams 用户租户管理员可能会对文件共享施加限制,包括禁用某些文件权限或同时禁用文件共享选项。
运行代码
运行 npm run start时,可以通过以下屏幕截图所示访问示例应用 localhost:3000 :
单击底部的聊天按钮以显示聊天面板。 如果 Teams 用户发送某些文件,应会看到类似于以下屏幕截图的内容:
现在,如果用户单击文件附件卡,则会打开一个新选项卡,如以下屏幕截图所示,用户可以下载该文件: