こんにちは!
Yuki (@yukibnb) です。
2021年5月13日についにNotion APIのパブリックベータ版が公開されました。
当ブログではGoogle Apps Script (GAS) と Notion APIを使って、Notionのデータベースを操作する方法を複数記事に渡って紹介したいと考えています。
まず第一弾としてGASを記述する前に完了しておくべき準備事項を紹介します。
では見ていきましょう!
はじめに
Notion APIはパブリックベータ版です
Notion APIはこの記事を公開した時点 (2021/5/17) でパブリックベータ版です。
以下Notion公式情報にもあるように新機能の追加や変更が予定されているので、公式の最新情報も常にチェックすることをおすすめします。
「今回のパブリックベータ版は、ほんの始まりにすぎません ー 今後も皆さんのフィードバックに基づいて新機能の追加や変更を行っていきます。」
引用: Notion公式情報 (2021/5/13)
公式の一例です。
- Notion JapanのTwitter: @NotionJP
- NotionのTwitter(英語): @Notion
- NotionのDevelopersページ (英語)
GASでNotionのデータベースを操作するための全体像
Google Apps Script (GAS) と Notion APIを使ってNotionのデータベースを操作するには、いきなりGASを書き始めるのではなく準備が必要です。
その準備とは以下の2点です。
- Integrationを作成
- データベースをIntegrationに共有
本記事ではこれらの準備方法を詳しく紹介します。
そして次回以降にGASを記述してNotionのデータベースを操作する方法を紹介します。
Integrationを作成しよう
My integrationsページを開く
以下URLをクリックし、NotionのMy integrationsページを開きます。
https://www.notion.com/my-integrations
Notionにログインしていない場合、ログインしてください。
[New integration]をクリックする
画面左側の[New integration]ボタンをクリックしてください。
Integrationの情報を入力する
Integrationの情報入力画面が開きますので、以下1~3を入力 (選択) し、[Submit]ボタンをクリックしてください。
- Integrationの名称
- 画像 (設定しなくてもOK)
- Integrationを使用するNotionのWorkspace
「このIntegrationを使ってNotionに対してどのような操作をしたいか」が一目でわかる名称を「Integrationの名称」にすると良いでしょう。
例えば僕は今回このIntegrationを使って「特定の条件に一致するデータベースのページ (レコード) の一覧を通知させたい」と考えているので、「Notification」 (通知) という名称にしました。
なお「Integrationの名称」は後から編集できるので今はあまり深く考えずに適当な名称にしても問題ありません。
「画像」はこのIntegrationのプロフィール画像のようなものです。今は設定しなくても問題ありませんが、将来Integrationの数が増えた場合には設定するとIntegration一覧が見やすく (判別しやすく) なります。
[Submit]ボタンをクリックするとIntegrationの作成が完了し、画面が切り替わります。
Internal Integration Tokenを表示する
画面上部に[Internal Integration Token]という項目が表示されています。
その下の[Show]をクリックしてください。クリックすると[・・・・・・・・・・・]で隠れていた英数字が表示されます。
Internal Integration Tokenをコピーする
[secret_xxxxxxxxx...]と表示された英数字がInternal Integration Token (以下Token) です。
このTokenはNotionのデータベースにアクセスし操作するためのパスワードのようなものです。
大切なものなので取り扱いには注意してください。
[Copy]クリックするとTokenをコピーできます。
Tokenは次回以降の記事でGASを記述する際に必要となります。今は「ここでTokenを確認してコピーできるんだな」と覚えていてください。(※ページを閉じても、また後でいつでもTokenを確認できます)
Integration Typeを選択する
少し下にスクロールするとIntegration typeという項目があり、以下2つの選択肢が表示されています。
- Internal integration
- Public integration
Integration typeとはその名の通り「Integrationの種類」です。
[Internal integration]は「あなたがAdmin権限を持つWorkspaceでのみ、作成したIntegrationを使用できます」というものです。
対して[Public integration]は「Notionユーザーであれば誰でも、作成したIntegrationを使用できます」というものです。
デフォルトでは[Internal integration]が選択されています。
特に理由がなければそのまま[Internal integration]のままで大丈夫です。
Integrationの一覧ページに戻る
画面上部の[My integrations]をクリックしましょう。
クリックするとIntegrationの一覧ページに戻ることができます。
Integrationの一覧ページを確認する
一覧ページに先ほど作成したIntegration「Notification」が無事表示されていますね!
[View integration]をクリックすると、いつでもTokenを確認したり、名称やロゴを編集したりできます。
いつでもIntegrationの一覧ページを開けるように以下URLをお気に入り登録しておくと便利です。
https://www.notion.com/my-integrations
これで無事STEP 1「Integrationを作成」が完了しました。
ではここからはSTEP 2「データベースをIntegrationに共有」の方法を見ていきましょう。
データベースをIntegrationに共有しよう
そもそも「データベースをIntegrationに共有」とは?
「Integrationを作成完了! = Workspace内のどんなデータベースでも操作できるようになった!」というわけではありません。
先ほど作成したIntegrationは現時点ではまだ「ただ存在するだけ」で、僕のWorkspace内のどのデータベースも操作できません。
Integrationをロボットに置き換えるとわかりやすいと思います。
僕が作成した通知用のロボット「Notification」は現時点ではどのデータベースにもアクセスする権限を持っていません。そのためどんなに優れた機能を実装しても、データベースにアクセスできないのであればどうしようもありません。
「このデータベースにアクセスしてもいいよ」という権限を与えるために、「データベースをIntegrationに共有」という設定を行います。
では設定方法を見てみましょう。
データベースを開く
Integrationにアクセス権を与えたいデータベースを開きましょう。
[Share]をクリックする
画面上部の[Share]をクリックしてください。
クリックするとポップアップが表示されます。
[Invite]をクリックする
[Invite]をクリックしてください。
クリックするとポップアップが表示されます。
Integrationを選択する
[Select an integration]の下に作成したIntegrationが表示されているはずです。
クリックして選択してください。
[Invite]をクリックする
[Invite]をクリックしてください。
データベースをIntegrationに共有完了
僕が作成したIntegration「Notification」が共有一覧に表示され、且つ[Can edit]という表示も確認できます。
これは「『Notification』はデータベース『Tasks』を編集する権限がありますよ」という意味です。
これでSTEP 2「データベースをIntegrationに共有」も無事完了です!
Notion APIを使用するための準備完了!
Notion APIを使用するための準備、STEP 1とSTEP 2が完了しました。
- Integrationを作成
- データベースをIntegrationに共有
Integrationというロボットを作成し、ロボットにデータベースへのアクセス権を付与しました。
このロボットはまだ何の機能も持っていませんので、「機能を追加し」、そして「追加した機能を実行する」必要があります。
画像内のSTEP 3とSTEP 4がそれらに該当します。
- GASを記述
- GASを実行してデータベースを操作
次回以降の記事で実際にGASを記述してデータベースを操作する手順を紹介します。
いきなり大掛かりな操作をするのではなく、基本的でわかりやすい方法から始めて複数記事に渡っていろいろな操作方法を紹介できればと考えています。
まとめ
今回はGoogle Apps Script (GAS) と Notion APIを使ってNotionのデータベースを操作する方法の第一弾記事として、準備方法を紹介しました。
次回記事もご期待ください!