0

我希望能够使用 REST API 将文件附加到对话中。是否可以?/conversations/{convId}/messages/{itemId} 有一个«附件»,但这有用吗?如何?该字段的描述不可用。

4

1 回答 1

1

Circuit的文件API支持上传附件。一旦您收到访问令牌,您就可以发布带有字节数据的消息。以下示例将上传一个名为 test.jpg 的文件

POST /rest/v2/fileapi HTTP/1.1
Host: local.circuit.com
Authorization: Bearer <access token>
Content-Length: 100
Content-Disposition: attachment; filename="test.jpg"
Cache-Control: no-cache

<your content in binary form here>

通常我使用 Postman 进行测试,因为它非常易于使用并且支持 OAuth 2.0 令牌生成 ( https://www.getpostman.com/ )

您将收到如下结果

{"fileId":"fb211fd6-df53-4b82-824d-986dac47b3e7","attachmentId":"ZmIyMT..."}

如果您想验证您的上传,您可以通过以下方式进行检查

GET /rest/v2/fileapi?fileid=fb211fd6-df53-4b82-824d-986dac47b3e7 HTTP/1.1
Host: local.circuit.com
Authorization: Bearer <access token>
Cache-Control: no-cache

好吧,这很容易,既然您已将文件上传到后端,您必须将其附加到对话项目中。今天我们不支持更新,即你需要创建一个新的。

POST /rest/v2/conversations/<conv ID>/messages HTTP/1.1
Host: local.circuit.com
Authorization: Bearer <access token>
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

content=New+Text+Message&attachments=ZmIyMT...

您必须传递生成的附件 ID。执行此请求后,该文件将附加到对话中。

如果您跳过第二步,该文件将不会链接到任何对话,只能由发起上传的用户访问,并且将在接下来的 24 - 48 小时内自动删除。

希望这会有所帮助,如果您还有其他问题,请告诉我。

于 2018-07-20T12:53:29.963 回答