首页 > 解决方案 > 是否有用于在 RingCentral Glip 中共享附件的 API?

问题描述

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

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

分享的图标是下面应用截图中左起第 6 个。

RingCentral Glip 按钮

有没有办法在 Glip 中做到这一点而无需下载和重新上传文件?

标签: shareattachmentringcentralglip

解决方案


要通过 Glip API 共享附件,请使用现有附件创建新帖子。

创建帖子 API

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"
        }
    ]
}

示例获取帖子 API

以下是一个帖子示例,显示了带有idtype属性的附件数组。附件 URL 是一个 AWS Presigned Object 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": {}
}

共享权限

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

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

403 Forbidden

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

推荐阅读