通过Notion API实现页面外部共享及权限配置的问题咨询
报错原因
你之前的所有报错本质是概念混淆:People属性是数据库自定义字段,和页面共享权限完全无关:
- 数据库下的页面,所有自定义属性必须先在父数据库层面创建完成,才能在子页面给属性赋值,你直接给页面加未在数据库定义的
people属性,自然会报「属性不存在」的错误 - 父级是普通页面(非数据库)的页面,仅支持
title这一个内置属性,不支持任何自定义属性,所以接口会直接拒绝接收people字段 - 就算你正确给People属性赋值,也只是给页面打了人员关联标签,不会给对应账号开通任何页面访问权限,完全达不到共享页面的效果。
问题答复
1. 是否存在可行方案通过Notion API向外部用户共享页面?
目前官方API不支持直接向外部邮箱发送页面共享邀请,可落地的方案只有两类:
- 公开链接方案:通过API将页面设置为公开访问状态,配置好公开权限(只读/可编辑/可评论)后,自行通过邮件等渠道把公开链接发给外部用户即可
- 先加工作区再授权:先通过工作区成员管理接口将外部用户添加为工作区访客或正式成员,之后再给该账号分配对应页面的访问权限。该方案需要工作区管理员权限,且受工作区安全策略限制。
2. 是否可通过Notion API修改页面对工作空间内已有用户的读写权限?
支持。可以通过官方提供的页面权限接口完成以下操作:
- 给工作区内已有账号分配页面的只读、可评论、可编辑权限
- 修改账号已有的页面权限等级
- 移除账号已有的页面访问权限
注意:调用权限接口的集成账号,必须持有目标页面的管理员权限,且被授权的账号必须已经加入当前工作区。
内容的提问来源于stack exchange,提问作者Vadim Martynov
相关产品推荐
相关产品推荐

