notionのデータベースをCSVでエクスポートするツールを作った

notionのデータベースをCSVでエクスポートするコマンドラインツールを作りました。

ツールを動かすにはnodeが必要です。(version 16.15を推奨)

https://github.com/t-kuni/notion-database-exporter

作成した背景

notionで設計書を書いていたのですが、databaseをそのままプログラムで読み込みたい需要がありツールを作成しました。
notion本体にもCSVエクスポートはありますが、zipで圧縮されていたり、ファイル名が文字化けしていたりと使い勝手が悪かったのも理由の1つです。

使い方

コマンドをインストールする

npm i -g notion-database-exporter

Notionにインテグレーションを追加する(トークンの発行)

以下のページからインテグレーションを追加します

https://www.notion.so/my-integrations

トークンをコピーします。

データベースを含むページ(親ページも含む)を開き、右上隅にある[共有]ボタンをクリックしてから、[招待]ボタンをクリックします。

作成したインテグレーションを選択します

コマンドを実行するフォルダーに notion-db-exporter-secret.yml を作成し、コピーしたトークンを書き込みます。

notionToken: XXXX

以下のコマンドで、CSVをnotion-db-csvフォルダに出力します。

notion-database-exporter --export

データベースのリストのみを表示することもできます。

notion-database-exporter --list

コマンドオプション

オプション 説明 デフォルト値
-c, --config configファイルのパスを指定します ./notion-db-exporter.yml
-s, --secret シークレットファイルのパスを指定します ./notion-db-exporter-secret.yml
-l, --list データベースのリストを表示します true
-e, --export データベースをエクスポートします false

configファイルの設定

コマンドを実行するフォルダに notion-db-exporter.yml を配置する事で、設定を変更できます

# CSVを出力するディレクトリ.
outDir: './notion-db-csv'

# 出力するデータベースをタイトルまたはIDでフィルタリングする
includes:
  - title: "Your Database Title1" # タイトルが一致するデータベースを含める
  - title: "Your Database Title2"
  - id: "Your Database id1" # idが一致するデータベースを含める
  - id: "Your Database id2"
excludes:
  - title: "Your Database Title1" # タイトルが一致するデータベースを除外する
  - id: "Your Database id1" # idが一致するデータベースを除外する

以上です!

コメントする