You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PHP调用Notion API查询数据库时筛选条件不生效如何解决

问题原因

你提交的请求payload结构不符合Notion API要求,筛选条件需要嵌套在顶层的filter字段中,你当前直接将筛选规则放在payload顶层,API无法识别到筛选配置,因此默认返回全量数据库数据。此外你没有指定请求的Content-Type为application/json,部分环境下会导致API无法正确解析请求体。

修复方案

修改两处代码即可:

  1. 调整请求体结构,给筛选规则套上filter字段
  2. 在请求头中添加Content-Type声明

修改后的对应代码段如下:

//post data
$data_array =
[
    "filter" => [
        "property" => "DataElement",
        "title" => ["equals" => "bigHouse"]
    ]
];

$data = json_encode($data_array);

//intialize cURL
$ch = curl_init();

// 省略其他不变的curl配置
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Authorization: Bearer ' . $token,
    'Notion-Version: '.$version,
    'Content-Type: application/json'
));

补充验证点

  • 确认数据库中DataElement列名的拼写、大小写、空格和代码中配置完全一致
  • 确认你使用的Notion集成已经被添加到对应数据库的共享成员列表中,且拥有内容读取权限

内容的提问来源于stack exchange,提问作者Brendon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 13:15:05