如何通过Notion API获取页面评论中的文件?
如何通过Notion API获取评论中的文件(图片/视频)
Notion API返回的评论数据里,图片、视频这类文件并非直接以独立字段存在,而是嵌套在富文本的mention结构中,和页面块的文件存储逻辑不同,具体解析步骤如下:
- 调用评论端点(
https://api.notion.com/v1/comments?block_id=<BLOCK_ID>或https://api.notion.com/v1/comments/<COMMENT_ID>)获取完整评论数据 - 定位到评论对象的
rich_text数组字段 - 遍历数组中的每个元素,筛选出符合条件的文件条目:
- 元素的
type值为mention - 检查
mention.type的子类型:- 若为
file:文件的访问链接和过期时间在mention.file下,其中url是临时下载链接,expiry_time为链接失效时间 - 若为
external:外部托管的文件链接在mention.external.url中
- 若为
- 元素的
示例解析(评论数据片段)
{ "rich_text": [ { "type": "mention", "mention": { "type": "file", "file": { "url": "https://s3.us-west-2.amazonaws.com/...", "expiry_time": "2024-05-20T12:00:00Z" } } } ] }
这里的mention.file.url就是评论中图片/视频的临时访问地址,注意这类链接有有效期,过期后需要重新调用API获取新链接。
页面块能直接获取文件是因为文件本身是独立的file类型块,而评论中的文件是作为富文本的提及内容嵌入,所以需要用上述针对mention结构的解析逻辑来提取。
内容的提问来源于stack exchange,提问作者bladerunner2020
相关产品推荐
相关产品推荐

