Notion API:有没有办法获取“人员”属性中提到的用户的子页面数量?
Posted
技术标签:
【中文标题】Notion API:有没有办法获取“人员”属性中提到的用户的子页面数量?【英文标题】:Notion API: Is there a way to get the number of child pages with a user mentioned in the "people" property? 【发布时间】:2021-09-05 14:43:58 【问题描述】:我正在尝试创建一些 Notion API 集成,以帮助我的团队预测人员配备的可用性。
我正在编写一个函数,该函数应使用 people
过滤器类型计算在数据库子页面的 people
属性中提及特定用户的所有次数。
这是我的代码:
async function getUserAssignmentCount(database, user)
const response = await notion.databases.query(
database_id: database.id,
filter:
"property": "People",
"people":
"contains": user.id,
,
,
);
return Object.keys(response).length;
由于我不太明白的原因,这个函数只是为每个用户返回4
。快速查看the API docs for the people filter property 表明您目前无法使用people
过滤器过滤people
属性......所以......idk??
谁能想到一种方法来实现这一点,要么通过 API 中未记录的内容,要么通过一些从数据库people
属性中获取所有用户 ID 的 hacky 方式?
谢谢
【问题讨论】:
【参考方案1】:嗯,那太虎头蛇尾了。 API 的文档仍然很差,但我找到了方法:
async function getUserAssignmentCount(database, user)
// Returns an object with keys `object`, `results`, `next_cursor`, `has_more`
const response = await notion.databases.query(
database_id: database.id,
filter:
"property": "People",
"people":
"contains": user.id,
,
,
);
// Returns the length of the filter results
return response.results.length;
【讨论】:
以上是关于Notion API:有没有办法获取“人员”属性中提到的用户的子页面数量?的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 Notion Public API 获取页面的 url?
Notion API [Beta]:将用户添加到工作区并更改其权限