SuperAPI AI 工具集

azure-communication-chat-java

智能体与模型

查看项目

更新于 10-16 02:01

技能介绍

Azure Communication Chat(Java)是 Azure 通信服务(Azure Communication Services)提供的 Java 客户端库,用于在 Java 应用中构建实时聊天功能。

用途

该库面向需要在应用中集成聊天能力的 Java 开发者,提供线程管理、消息收发、参与者管理和已读回执等核心聊天功能。

主要能力

  • 聊天线程管理:创建、删除聊天线程,获取线程属性,更新线程主题,列出用户的所有聊天线程。
  • 消息操作:发送文本或 HTML 格式消息,列出线程内消息,获取指定消息,更新和删除消息。
  • 参与者管理:列出、添加和移除聊天线程中的参与者,添加时可设置 shareHistoryTime 控制历史消息可见范围。
  • 已读回执:发送已读回执,列出线程内的已读回执记录。
  • 正在输入通知:发送正在输入通知,支持简单调用或带发送者显示名的选项。
  • 分页支持:通过 ListChatMessagesOptions 设置 maxPageSize,并使用 iterableByPage 逐页处理消息。
  • 错误处理:通过捕获 HttpResponseException 并根据状态码(401、403、404 等)进行相应处理。
  • 同步与异步客户端:ChatClientBuilder 可构建同步的 ChatClient 和异步的 ChatAsyncClient。

使用方式

通过 Maven 引入依赖:

<dependency> <groupId>com.azure</groupId> <artifactId>azure-communication-chat</artifactId> <version>1.6.0</version> </dependency>

使用用户访问令牌创建 CommunicationTokenCredential,再通过 ChatClientBuilder 设置 endpoint 和 credential 构建 ChatClient。创建聊天线程时定义 ChatParticipant 列表并调用 createChatThread,获得 threadId 后通过 getChatThreadClient 获取 ChatThreadClient 执行线程内操作。

环境变量示例: AZURE_COMMUNICATION_ENDPOINT=https://<resource>.communication.azure.com AZURE_COMMUNICATION_USER_TOKEN=<user-access-token>

适用场景

适用于需要在 Java 后端或服务中集成实时聊天、线程讨论、参与者协作和消息回执等功能的场景。

限制

用户令牌会过期,需要实现刷新逻辑(CommunicationTokenRefreshOptions)。使用时应过滤系统消息(如 PARTICIPANT_ADDED 等)与用户消息。已读回执应仅在用户实际查看消息时发送。该技能仅适用于与上述范围明确匹配的任务,输出不能替代针对具体环境的验证、测试或专家审查;若缺少必要输入、权限、安全边界或成功标准,应停止并请求澄清。