Notion API,更新資料庫中的勾選框值

這裡將介紹如何使用Notion API來更新Notion資料庫中的勾選框值。 每個條目被視為一個頁面。 假設你已經獲得了該條目,並將其賦值給變數page,則該頁面的id將位於page.id中。 同時假設你已經初始化了Notion客戶端。 import { Client } from '@notionhq/client' //... const notion = new Client({ auth: process.env.NOTION_API_KEY }) 然後你可以通過以下方式將名為"Ready"的勾選框設置為true: await notion.pages.update({ page_id: page.id, properties: { Ready: { checkbox: true, }, }, })

Notion API,更新頁面的圖示表情符號

以下是使用Notion API更新Notion頁面的圖示表情符號的方法。 假設您已經初始化了Notion客戶端: import { Client } from '@notionhq/client' //... const notion = new Client({ auth: process.env.NOTION_API_KEY }) 假設頁面id存儲在page_id變量中。 然後,您可以這樣做將頁面圖示的值設置為新的表情符號: await notion.pages.update({ page_id: page_id, icon: { type: 'emoji', emoji: '✅', }, })

Notion API:如何擷取資料庫中的項目

這篇文章將介紹如何使用官方的Notion API來列出Notion資料庫中的所有項目。 首先,您需要取得Notion實例的參考。 import { Client } from '@notionhq/client' //... const notion = new Client({ auth: process.env.NOTION_API_KEY }) 接下來,您可以呼叫notion.database.query()來擷取項目。 這段程式碼會擷取所有的項目: const postsReady = await notion.databases.query({ database_id: process.env.NOTION_DB_ID, }) 這段程式碼會擷取所有具有名稱為「Ready」且已勾選的核取方塊屬性的項目: const postsReady = await notion.databases.query({ database_id: process.env.NOTION_DB_ID, filter: { and: [ { property: 'Ready', checkbox: { equals: true, }, }, ], }, }) 您可以進一步添加更多篩選規則,並使用or或and邏輯進行組合。 此外,您還可以根據特定屬性進行升序或降序排列項目。 Notion API相當強大,有很多功能可以使用。 詳細的notion.databases.query()官方文件請參閱:https://developers.notion.com/reference/post-database-query

使用 Notion API 選擇具有特定表情符號的所有頁面

以下是我使用的方法來選擇具有特定表情符號的 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....