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

时间:2018-07-31 04:41:49

标签: circuit-sdk

我正在使用Circuit Unify进行工作。但是,我想将对话中的消息保存或导出到文件中,以保存更好的文档。当前,在Web App和Desktop App上似乎都不可能。因此,我想扩展(或应用程序?)来完成这项工作。

我的问题是:我应该从哪里开始最好的地方?如何扩展电路?是否可以进行此类扩展(或应用)?

您的意见和建议将不胜感激

1 个答案:

答案 0 :(得分:0)

例如,最好的选择是使用Circuit JavaScript API通过API getConversationItems检索消息。每个项目(又称消息)都包含用于下载其附件的网址。

现在有几种不同的方法可以完成。

选项1:使用漫游器

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

选项2:使用单独的Web应用

创建一个Web应用程序,用户可以通过OAuth(隐式或授权码授予类型)使用自己的Circuit凭据在其上登录。然后,该应用程序代表登录用户。该应用程序可以列出用户有权访问的对话(getConversations API),并显示一个按钮以导出所选对话。然后,该应用程序会执行与选项1中的漫游器相同的操作,以创建pdf,但是Web应用程序会下载pdf,而不是将pdf发布到对话中。

选项3:创建镶边扩展程序

我不建议您使用此选项,因为还没有正式的方法来扩展Circuit Web客户端。这意味着新的Circuit Webclient版本可能会破坏该扩展。使用chrome扩展程序,可以在UI中添加“导出”按钮,并使用一些内部API获取要导出的数据。 有计划创建官方扩展点,以允许开发人员扩展Circuit网络客户端的某些部分,并在Chrome扩展程序中使用JS SDK。

  

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