我正在使用 Circuit Unify 工作。但是,我想将对话中的消息保存或导出到文件中以保存以获得更好的文档。目前在 Web App 和 Desktop App 上似乎是不可能的。因此,我想制作一个扩展程序(或应用程序?)来完成这项工作。
我的问题是:我应该从哪里开始?如何扩展电路?是否可以制作这样的扩展程序(或应用程序)?
您的意见和建议将不胜感激
我正在使用 Circuit Unify 工作。但是,我想将对话中的消息保存或导出到文件中以保存以获得更好的文档。目前在 Web App 和 Desktop App 上似乎是不可能的。因此,我想制作一个扩展程序(或应用程序?)来完成这项工作。
我的问题是:我应该从哪里开始?如何扩展电路?是否可以制作这样的扩展程序(或应用程序)?
您的意见和建议将不胜感激
您最好的选择是使用 Circuit JavaScript API 来检索消息,例如使用 API getConversationItems 。每个项目(又名消息)都包含用于下载其附件的 URL。
现在有几种不同的方法可以做到这一点。
创建一个机器人(客户端凭据授予),该对话的成员可以使用 Circuit 客户端上的常规“添加参与者”按钮将其添加到对话中。然后,该机器人可以访问此对话的所有消息,并可以收听发布的新消息。机器人可以侦听正在发送的特定消息(命令),例如/export。发送此命令后,机器人会检索要导出的此对话的所有数据,创建一个 pdf(或所需的任何格式)并将其附加到对话中。或者,机器人也可以将该 pdf 保存在其他位置,但这可能会带来安全问题。
创建一个 Web 应用程序,用户通过 OAuth(隐式或授权代码授予类型)使用其电路凭据登录。然后,该应用程序代表已登录用户执行操作。该应用程序可以列出用户有权访问的对话(getConversations API)并显示一个按钮以导出所选对话。然后,该应用程序与选项 1 中的机器人执行相同的操作来创建 pdf,但 Web 应用程序不会将 pdf 发布到对话中,而是下载 pdf。
我不鼓励这个选项,因为还没有官方方法来扩展 Circuit 网络客户端。这意味着新的 Circuit webclient 版本可能会破坏扩展。使用 chrome 扩展,可以在 UI 中添加“导出”按钮,并使用一些内部 API 获取要导出的数据。有计划创建官方扩展点,以允许开发人员扩展 Circuit webclient 的某些部分,并在 Chrome 扩展中使用 JS SDK。
注意:您也可以使用 Circuit REST API 而不是 JS SDK 来检索消息。