這篇文章將介紹如何使用官方的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,
        },
      },
    ],
  },
})

您可以進一步添加更多篩選規則,並使用orand邏輯進行組合。

此外,您還可以根據特定屬性進行升序或降序排列項目。

Notion API相當強大,有很多功能可以使用。

詳細的notion.databases.query()官方文件請參閱:https://developers.notion.com/reference/post-database-query