目次
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が一致するデータベースを除外する
以上です!
Webエンジニアをやっています
UX/UIデザインからプログラミング、DB設計、SEO、インフラ構築など幅広く対応してます
PHP/PHPUnit/Laravel/Vue/Nuxt/Docker/Terraform
ご連絡はTwitterのDMまで。