如何在Zapier中通过HTTP请求筛选Notion数据库属性?
问题:Notion数据库筛选HTTP请求返回400错误
背景
Zapier的Notion内置动作仅支持单条条目创建、更新或查找,无法批量筛选,因此需要直接调用Notion API的POST接口获取数据:
https://api.notion.com/v1/databases/[database_id]/query
需求
需要筛选两个属性的条目:
- 复选框属性「Approved」,对应ID:
IJGI - 单选属性「Episodes」,对应ID:
bacf6208-4106-4e4c-9caa-7780af3f74d5
错误尝试
尝试通过URL查询参数传递筛选条件,请求示例:
https://api.notion.com/v1/databases/[database_id]/query?filter_properties=IJGI&filter_properties=bacf6208-4106-4e4c-9caa-7780af3f74d5
返回400错误,提示「以下ID对应的数据库格式不正确」;尝试/query?checkbox=true这类传统查询字符串格式也报错。
已确认事项
- 数据库ID正确
- 数据库已共享给集成应用
- 请求头包含
authorization、content-type、notion-version字段
正确解决方案
Notion数据库筛选的条件不能通过URL参数传递,必须将筛选逻辑和属性指定放在POST请求的JSON请求体中:
请求体示例
{ "filter": { "and": [ { "property": "Approved", "checkbox": { "equals": true } }, { "property": "Episodes", "select": { "equals": "目标单选选项值" } } ] }, "filter_properties": ["IJGI", "bacf6208-4106-4e4c-9caa-7780af3f74d5"] }
关键说明
filter字段定义筛选逻辑:用and表示两个条件需同时满足,可根据需求替换为or;针对不同属性类型(复选框、单选)使用对应匹配规则filter_properties是可选字段,用来指定仅返回指定属性的内容,格式为数组,而非URL重复参数- 确保请求头的
content-type设置为application/json,否则Notion无法解析请求体
内容的提问来源于stack exchange,提问作者jyoungberg
相关产品推荐
相关产品推荐

