share - 是否有用于在 RingCentral Glip 中共享附件的 API?
问题描述
我想构建一个应用程序,可以监控一个 Glip 团队的帖子,包括屏幕截图,然后将该消息发布到另一个 Glip 团队。我可以阅读帖子、下载附件并重新发布/上传它,但是有没有一种方法可以简单地共享现有附件而不重新发布它。这可以在应用程序 UI 中完成,但我在 Glip API 参考中没有看到共享 API。
这是 Glip API 参考,其中包括用于创建、阅读、更新和删除帖子但不共享的端点:
分享的图标是下面应用截图中左起第 6 个。
有没有办法在 Glip 中做到这一点而无需下载和重新上传文件?
解决方案
要通过 Glip API 共享附件,请使用现有附件创建新帖子。
创建帖子 API
Create Post API 采用一个attachments
引用现有附件的可选数组。id
和type
属性都是必需的。这两个属性都存在于 post API 响应中。
POST /restapi/v1.0/glip/chats/{chatId}/posts
{
"text": "Please check out this file",
"attachments": [
{
"id":"123456789",
"type":"File"
}
]
}
示例获取帖子 API
以下是一个帖子示例,显示了带有id
和type
属性的附件数组。附件 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."
}
]
}
推荐阅读
- terminal - 启动终端时applescript超时
- sql - 如何检查连接表中的完全匹配
- google-analytics - 谷歌分析点击呼叫事件到 AMP
- css - 更改primeng日历中时间选择器的样式
- api - 使用 ECDSA 签署 api 请求
- visual-studio - Visual Studio 2015/17 - Visual C++ 添加对项目的引用引用目标/输出库而不是项目
- java - 地图值在数组中。所有值都需要转换为列表并将所有值组合为结果列表
- libgdx - 如何优先处理事件处理 (LIBGDX)
- android - Xamarin.Forms - RelativeLayout 中的约束
- php - 无法登录 OpenCart,它显示无效令牌会话错误