在 RingCentral Glip 中是否有用于共享附件的 API?

Is there an API for sharing an attachment in RingCentral Glip?

我想构建一个应用程序,可以监控一个 Glip 团队 post 秒,包括屏幕截图,然后 post 将该消息发送给另一个 Glip 团队。我可以阅读 post、下载附件并重新post/上传它,但是有没有一种方法可以简单地共享现有附件而无需重新posting。这可以在应用程序 UI 中完成,但我没有在 Glip API 参考中看到分享 API。

这是 Glip API 参考,其中包括用于创建、读取、更新和删除 posts 但不共享的端点:

分享图标在下方应用截图中左起第6个。

有没有办法在 Glip 中执行此操作而无需下载并重新上传文件?

要通过 Glip API 共享附件,请使用现有附件创建一个新的 post。

创建PostAPI

Create Post API 采用一个可选的 attachments 数组,该数组引用现有附件。 idtype 属性都是必需的。这两个属性都存在于 post API 响应中。

POST /restapi/v1.0/glip/chats/{chatId}/posts

{
    "text": "Please check out this file",
    "attachments": [
        {
            "id":"123456789",
            "type":"File"
        }
    ]
}

示例获取Posts API

以下是 post 的示例,显示具有 idtype 属性的附件数组。附件 URL 是一个 AWS 预签名对象 URL,如下所示。

GET /restapi/v1.0/glip/chats/{chatId}/posts

{
    "records": [
        {
            "id": "11111111",
            "creatorId": "22222222",
            "creationTime": "2019-08-26T21:41:56.648Z",
            "lastModifiedTime": "2019-08-26T21:41:56.648Z",
            "type": "TextMessage",
            "chatId": "33333333",
            "mentions": [],
            "attachments": [
                {
                    "id": "123456789",
                    "name": "sharedfile.png",
                    "contentUri": "https://glip-vault-1.s3.amazonaws.com/web/customer_files/44444444/testimage.png?Expires=55555555&AWSAccessKeyId=myAccessKeyId&Signature=myAWSPresignedObjectUrlSignature",
                    "type": "File"
                }
            ],
            "text": "Check this out!"
        }
    },
    "navigation": {}
}

共享权限

附件只能由原 post 人共享或在同一个聊天中共享。如果不同的用户想要在不同的团队中共享附件,则需要下载并重新post 文件,生成新的附件 ID。

如果不同的用户试图在不同的聊天中共享附件,将遇到 403 Forbidden 错误:

403 Forbidden

{
    "errors": [
        {
            "errorCode": "PST-011",
            "message": "The requester must be attachment creator or attachment must belong to the requested chat."
        }
    ]
}