如何使用 HTTP 请求(在 Zapier 中)过滤 Notion 数据库属性?

问题描述 投票:0回答:1

我正在尝试使用 HTTP 请求来过滤 Notion 数据库中的条目。目前有内置的 Zapier 操作用于创建、更新和查找数据库项目,但不是多个且不带参数。

目前,我可以使用如下所示的 POST 请求检索所有数据库项目:

https://api.notion.com/v1/databases/[database_id]/query

Notion 提供以下格式来查询和过滤项目

https://api.notion.com/v1/databases/[database_id]/query?filter_properties=[property_id_1]&filter_properties=[property_id_2]

我正在尝试过滤两个属性:名为“Approved”的复选框属性和名为“Episodes”的单选属性。在 Zapier 中检索所有数据库项目显示属性 ID 应分别为

IJGI
bacf6208-4106-4e4c-9caa-7780af3f74d5

Screenshot of Notion API request test data

根据我的理解,这意味着我的查询应该如下所示:

https://api.notion.com/v1/databases/[database_id]/query?filter_properties=lJGI&filter_properties=bacf6208-4106-4e4c-9caa-7780af3f74d5

不幸的是,测试不断产生错误 400 和注释:具有以下 ID 的数据库架构格式错误。

我已仔细检查我的数据库 ID 是否正确,我的数据库与我的集成共享,标头包括授权、内容类型和概念版本。

Screenshot of Zapier Notion API request URL

Screenshot of Zapier Notion API request with headers

我还尝试了各种其他更传统的查询字符串格式类型,例如

/query?checkbox=true

。全部产生错误消息。

httprequest webhooks zapier notion-api airtable
1个回答
0
投票
我相信错误可能是指网址中的数据库ID,网址应该如下所示

https://api.notion.com/v1/databases/897e5a76ae524b489fdfe71f5945d1af/querynothttps: //api.notion.com/v1/databases/897e5a76-ae52-4b48-9fdf-e71f5945d1af/query

但我也看到您没有以正确的方式提供过滤器,您正在寻找的是过滤器主体参数,而不是filter_properties查询参数。

所以你的网址应该是

https://api.notion.com/v1/databases/897e5a76ae524b489fdfe71f5945d1af/query 你的身体(被 zapier 标记为“数据”)应该看起来像这样:

{ "and": [ { "property": "Approved", "checkbox": { "equals": true } }, { "property": "Episodes", "select": { "equals": "React" } }, ] }
所有过滤条件都记录在此处:

https://developers.notion.com/reference/post-database-query-filter

这样您就可以避免使用更容易混淆的属性 id。

© www.soinside.com 2019 - 2024. All rights reserved.