如何进行扩展以保存Circuit Unify对话中的所有消息



我正在使用Circuit Unify来工作。但是,我希望将对话中的消息保存或导出到一个文件中,以便保存更好的文档。目前,在Web应用程序和桌面应用程序上,这似乎是不可能的。因此,我想做一个扩展(或应用程序?(来做这项工作。

我的问题是:我应该从哪里开始?如何扩展Circuit?有可能进行这样的扩展(或应用程序(吗?

将非常感谢您的意见和建议

您的最佳选择是使用Circuit JavaScript API来检索消息,例如使用API getConversationItems。每个项目(又名消息(都包含下载其附件的url。

现在有几种不同的方法可以做到这一点。

选项1:使用机器人

创建一个机器人程序(客户端凭据授予(,此对话的成员可以使用Circuit客户端上的常规"添加参与者"按钮将其添加到对话中。然后,该机器人程序可以访问此对话的所有消息,并可以侦听发布的新消息。机器人程序可以监听正在发送的特定消息(命令(,例如/export。当发送此命令时,机器人会检索要导出的会话的所有数据,创建一个pdf(或所需的格式(并将其附加到会话中。或者,机器人也可以将pdf保存在其他位置,但这可能会带来安全问题。

选项2:使用单独的web应用程序

创建一个web应用程序,用户可以通过OAuth(隐式或授权代码授予类型(使用Circuit凭据登录该应用程序。然后,该应用程序代表登录用户执行操作。该应用程序可以列出用户可以访问的对话(getConversations API(,并显示导出所选对话的按钮。然后,该应用程序与选项1中的机器人程序一样创建pdf,但该网络应用程序将下载pdf,而不是将pdf发布到对话中。

选项3:创建镀铬扩展

我不鼓励这种选择,因为目前还没有正式的方式来扩展Circuit网络客户端。这意味着新的Circuit网络客户端版本可能会破坏扩展。使用chrome扩展,可以在UI中添加"导出"按钮,并使用一些内部API获取要导出的数据。有一个计划是创建官方扩展点,允许开发人员扩展Circuit网络客户端的某些部分,并在Chrome扩展中使用JS SDK。

注意:您也可以使用Circuit REST API而不是JS SDK来检索消息。

最新更新