我希望能够使用REST API将文件附加到对话中。可能吗? / conversations / {convId} / messages / {itemId}有一个“附件”,但是可以使用吗?怎么样?该字段的描述不可用。
答案 0 :(得分:0)
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
好吧,这很容易,既然您已将文件上传到后端,则必须将其附加到对话项中。今天,我们不支持UPDATE,即您需要创建一个新的。
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小时内自动删除。
希望这会有所帮助,如果您还有其他问题,请告诉我。