NotionのテーブルにNotion APIを使ってリレーションを一括追加するGoogle Colabファイルを公開しました
gist のリンク
Colab のリンク
使い方
以下の 5 ステップで進めていきます。
- NOTION_TOKEN の取得
- Notion でインテグレーションを追加する
- database_id の取得
- プロパティの編集
- 実行
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とします。
これらをコピーして、colab のMAIN_DATABASE_IDとSUB_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 手順を紹介しました。
- NOTION_TOKEN の取得
- Notion でインテグレーションを追加する
- database_id の取得
- プロパティの編集
- 実行
ここでは Name というプロパティで取得しましたが、少し手直しすれば、アイデア次第で色々発展させられるのではないかと思います。
ぜひ活用してみてください。
gist のリンク
Colab のリンク
Discussion