Yuki's bnb blog

こんにちは!Yukiといいます。本業のかたわら大阪で2016年夏から民泊運営のお手伝いをしています。民泊業務に関する様々なことを自動化・効率化したいと思い日々活動しています。 お気軽にコメント・お問い合わせください :) TOEICスコア 985

【初心者向け!準備編】GASでNotion APIを使用するための準備

Notion API

こんにちは!
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)

 
公式の一例です。

 

GASでNotionのデータベースを操作するための全体像

Notion API Integration

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

 

memo

Notionにログインしていない場合、ログインしてください。

 

[New integration]をクリックする

Notion API New integration

画面左側の[New integration]ボタンをクリックしてください。

 

Integrationの情報を入力する

Notion API New integration

Integrationの情報入力画面が開きますので、以下1~3を入力 (選択) し、[Submit]ボタンをクリックしてください。

  1. Integrationの名称
  2. 画像 (設定しなくてもOK)
  3. Integrationを使用するNotionのWorkspace

「このIntegrationを使ってNotionに対してどのような操作をしたいか」が一目でわかる名称を「Integrationの名称」にすると良いでしょう。

例えば僕は今回このIntegrationを使って「特定の条件に一致するデータベースのページ (レコード) の一覧を通知させたい」と考えているので、「Notification」 (通知) という名称にしました。

なお「Integrationの名称」は後から編集できるので今はあまり深く考えずに適当な名称にしても問題ありません。

「画像」はこのIntegrationのプロフィール画像のようなものです。今は設定しなくても問題ありませんが、将来Integrationの数が増えた場合には設定するとIntegration一覧が見やすく (判別しやすく) なります。

[Submit]ボタンをクリックするとIntegrationの作成が完了し、画面が切り替わります。

 

Internal Integration Tokenを表示する

Notion API New integration

画面上部に[Internal Integration Token]という項目が表示されています。

その下の[Show]をクリックしてください。クリックすると[・・・・・・・・・・・]で隠れていた英数字が表示されます。

 

Internal Integration Tokenをコピーする

Notion API New integration

[secret_xxxxxxxxx...]と表示された英数字がInternal Integration Token (以下Token) です。

このTokenはNotionのデータベースにアクセスし操作するためのパスワードのようなものです。

大切なものなので取り扱いには注意してください。

[Copy]クリックするとTokenをコピーできます。

 

memo

Tokenは次回以降の記事でGASを記述する際に必要となります。今は「ここでTokenを確認してコピーできるんだな」と覚えていてください。(※ページを閉じても、また後でいつでもTokenを確認できます)

 

Integration Typeを選択する

Notion API New integration

少し下にスクロールするとIntegration typeという項目があり、以下2つの選択肢が表示されています。

  • Internal integration
  • Public integration

Integration typeとはその名の通り「Integrationの種類」です。

[Internal integration]は「あなたがAdmin権限を持つWorkspaceでのみ、作成したIntegrationを使用できます」というものです。

対して[Public integration]は「Notionユーザーであれば誰でも、作成したIntegrationを使用できます」というものです。

デフォルトでは[Internal integration]が選択されています。

特に理由がなければそのまま[Internal integration]のままで大丈夫です。

 

Integrationの一覧ページに戻る

Notion API New integration

画面上部の[My integrations]をクリックしましょう。

クリックするとIntegrationの一覧ページに戻ることができます。

 

Integrationの一覧ページを確認する

Notion API Integrations

一覧ページに先ほど作成した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に共有」という設定を行います。

では設定方法を見てみましょう。

 

データベースを開く

Notion database

Integrationにアクセス権を与えたいデータベースを開きましょう。

 

[Share]をクリックする

Notion share

画面上部の[Share]をクリックしてください。

クリックするとポップアップが表示されます。

 

[Invite]をクリックする

Notion invite

[Invite]をクリックしてください。

クリックするとポップアップが表示されます。

 

Integrationを選択する

Notion invite

[Select an integration]の下に作成したIntegrationが表示されているはずです。

クリックして選択してください。

 

[Invite]をクリックする

Notion invite

[Invite]をクリックしてください。

 

データベースをIntegrationに共有完了

Notion Invite

僕が作成したIntegration「Notification」が共有一覧に表示され、且つ[Can edit]という表示も確認できます。

これは「『Notification』はデータベース『Tasks』を編集する権限がありますよ」という意味です。

これでSTEP 2「データベースをIntegrationに共有」も無事完了です!

 

Notion APIを使用するための準備完了!

Notion API Integration

Notion APIを使用するための準備、STEP 1とSTEP 2が完了しました。

  • Integrationを作成
  • データベースをIntegrationに共有

Integrationというロボットを作成し、ロボットにデータベースへのアクセス権を付与しました。

このロボットはまだ何の機能も持っていませんので、「機能を追加し」、そして「追加した機能を実行する」必要があります。

画像内のSTEP 3とSTEP 4がそれらに該当します。

  • GASを記述
  • GASを実行してデータベースを操作

次回以降の記事で実際にGASを記述してデータベースを操作する手順を紹介します。

いきなり大掛かりな操作をするのではなく、基本的でわかりやすい方法から始めて複数記事に渡っていろいろな操作方法を紹介できればと考えています。

 

まとめ

今回はGoogle Apps Script (GAS) と Notion APIを使ってNotionのデータベースを操作する方法の第一弾記事として、準備方法を紹介しました。

次回記事もご期待ください!