如何通过Apple's Shortcuts App自动化操作Notion数据库
无需打开Notion通过Shortcuts录入多属性条目的实现方法
前置准备
- 登录Notion网页端,进入「我的集成」页面创建一个内部集成,复制生成的API密钥保存好,之后打开你的「已读书籍」数据库,点击右上角三个点,在「连接」选项里把刚创建的集成添加进来,给它编辑数据库的权限
- 从「已读书籍」数据库的网页地址栏复制数据库ID,就是地址中
notion.so/之后、?v=之前的32位字符串 - 核对数据库三个属性的准确名称和对应类型:「名称」默认是标题(title)类型,「作者」根据你自己的设置可能是富文本/单选/多选类型,「价格」设为数字(number)类型,记清楚不要写错属性名
快捷指令搭建步骤
- 打开苹果自带的Shortcuts App,新建空白快捷指令,依次添加3个「要求输入」操作:
- 第一个操作提示文字设为
请输入书籍名称,允许输入类型勾选「文本」 - 第二个操作提示文字设为
请输入书籍作者,允许输入类型勾选「文本」 - 第三个操作提示文字设为
请输入书籍价格,允许输入类型勾选「数字」
运行快捷指令时这三个操作会依次弹出输入框,引导用户填完所有属性值,全程不需要跳转Notion。
- 第一个操作提示文字设为
- 添加「字典」操作,按照Notion接口要求构造请求参数,把前面三个输入的结果作为变量插到对应位置,参考结构如下:
{ "parent": { "database_id": "你之前复制的32位数据库ID" }, "properties": { "名称": { "title": [ { "text": { "content": "「书籍名称」输入操作的输出变量" } } ] }, "作者": { "rich_text": [ { "text": { "content": "「书籍作者」输入操作的输出变量" } } ] }, "价格": { "number": "「书籍价格」输入操作的输出变量" } } }
如果你把「作者」设为了多选类型,把上面rich_text对应的结构替换成multi_select的数组格式即可,所有属性的传参格式都可以在Notion官方开发者文档里查到对应说明。
- 添加「获取URL内容」操作,按下面的参数配置:
- 地址栏填
https://api.notion.com/v1/pages - 请求方法选择
POST - 头部字段添加两个配置:
- 键
Authorization,值填Bearer 你之前保存的Notion集成API密钥,注意Bearer和密钥之间必须加半角空格 - 键
Notion-Version,值填2022-06-28,这是目前稳定可用的API版本
- 键
- 请求体选择JSON格式,把上一步构造的字典作为请求体传入
- 地址栏填
- (可选)最后添加一个「显示通知」操作,通知内容设置为
《书籍名称变量》已成功存入已读书籍库,录入完成后给用户操作反馈。 - 点击运行测试,依次填入三个属性的测试值,回到Notion数据库检查条目是否正常生成,如果报错优先检查集成权限、数据库ID、属性名和类型是否匹配。
常见问题排查
- 报403权限错误:基本都是忘了把集成添加到数据库的连接列表里,回去重新加一遍就行
- 报参数错误:检查属性名是不是和数据库里的完全一致,属性类型和传入的值是不是匹配,比如数字类型的价格不要传带中文单位的文本
- 输入时选错格式:给每个「要求输入」操作设置严格的输入类型限制,比如价格只允许输数字,从源头减少格式错误
参考方向
- 直接查Notion官方开发者文档中创建Page的接口说明,所有属性的传参规则都有官方示例,准确性最高
- 看苹果官方快捷指令使用手册里关于变量、字典操作的说明,解决参数传递的问题
- 国内快捷指令分享社区、Reddit的r/shortcuts板块里有大量用户分享的现成Notion录入模板,下载后替换成自己的密钥、数据库ID和对应属性就能直接用,不用从零搭建
内容的提问来源于stack exchange,提问作者Pablo
相关产品推荐
相关产品推荐

