以下是我使用的方法來選擇具有特定表情符號的 Notion 頁面的所有子頁面:
const notion = new Client({ auth: process.env.NOTION_API_KEY })
const pageId = process.env.NOTION_PAGE_ID
async function getAllSubpagesOfPage(page, notion) {
const pages = []
const blocks = await notion.blocks.children.list({
block_id: page.id,
})
for (const block of blocks.results) {
if (block.type === 'child_page') {
//我們需要為該區塊添加圖標,
//因為它不是默認提供的
const temp = await notion.pages.retrieve({ page_id: block.id })
block.icon = temp.icon
pages.push(block)
}
}
return pages
}
const pages = await getAllSubpagesOfPage(page, notion)
pages.map(async (page) => {
if (page.icon?.emoji === '✅') {
//該頁面具有此表情符號
}
})