🔗

NotionのテーブルにNotion APIを使ってリレーションを一括追加するGoogle Colabファイルを公開しました

2023/08/25に公開

gist のリンク

https://gist.github.com/kikutadev/25b4f9fc725b14d2bcb4103182f78539

Colab のリンク

https://colab.research.google.com/gist/kikutadev/25b4f9fc725b14d2bcb4103182f78539/notion-api-batch-relation.ipynb

使い方

以下の 5 ステップで進めていきます。

  1. NOTION_TOKEN の取得
  2. Notion でインテグレーションを追加する
  3. database_id の取得
  4. プロパティの編集
  5. 実行

1. NOTION_TOKEN の取得

https://notion.so/my-integrations から取得してください。

secretから始まる文字列です。これをコピーして、colab のNOTION_TOKENに貼り付けてください。

2. Notion でインテグレーションを追加する

作成したインテグレーションを以下のように追加します。

3. database_id の取得

notion.so で、リレーションを追加したいデータベースを開きます。

URL のdatabase/の後ろの文字列がdatabase_idです。

ここではリレーション元がMAIN_DATABASE_ID、リレーション先がSUB_DATABASE_IDとします。
これらをコピーして、colabMAIN_DATABASE_IDSUB_DATABASE_IDに貼り付けてください。

4. プロパティの編集

以下の 3 つのプロパティを編集していきます。

  • SUB_DATABASE_relation_property_name
    • リレーションを追加したいプロパティ名を入力してください。
  • SUB_DATABASE_property_name_searching_by
    • メインデータベースを検索するのに使用するプロパティ名を入力してください。
  • MAIN_DATABASE_property_name_to_find
    • 検索したいメインデータベースのプロパティ名を入力してください。

例を示しておきます。
以下の Sub Database のRelationToMainを追加したいとします。


  • SUB_DATABASE_relation_property_nameは、以下でいうところのRelationToMainです。
  • そして、検索元のプロパティ名であるSUB_DATABASE_property_name_searching_byは、Nameです。
  • 検索したいメインデータベースのプロパティ名であるMAIN_DATABASE_property_name_to_findは、MAIN_NAMEです。

これらを入力したらこうなります。

5. 実行

こちらで準備は完了ですので、実行してみましょう

② の検索する方をやってみます。先ほどのデータベースのままだと1件しかなくてつまらないので、以下のように、それぞれのデータベースのNameプロパティに、同じ文字列のタイトルのアイテムを追加しておきます。

これらを一括でリレーションさせてみましょう。

実行すると、、、

無事追加されました!

同じテキストなので、無意味に思われるかもしれませんが、ここでリレーションのパワーを発揮します。

一度リレーションが追加されたら、Excel でいうVLOOKUPのように、ロールアップの機能により、リレーション先のプロパティを取得できるのです。
以下は、MAIN_DATABASEにステータスというプロパティを追加し、SUB_DATABASEにロールアップでMAIN_DATABASEのステータスを取得した例です。

まとめ

ここでは以下の 5 手順を紹介しました。

  1. NOTION_TOKEN の取得
  2. Notion でインテグレーションを追加する
  3. database_id の取得
  4. プロパティの編集
  5. 実行

ここでは Name というプロパティで取得しましたが、少し手直しすれば、アイデア次第で色々発展させられるのではないかと思います。
ぜひ活用してみてください。

gist のリンク

https://gist.github.com/kikutadev/25b4f9fc725b14d2bcb4103182f78539

Colab のリンク

https://colab.research.google.com/gist/kikutadev/25b4f9fc725b14d2bcb4103182f78539/notion-api-batch-relation.ipynb

Discussion