こんにちは、野口です。
今回はNotionのデータベースをGAS(Google Apps Script)で取得してみます。
NotionのデータベースをGASで取得することで、
Google Calendarとの連携やLINEへの通知など別サービスへ連携しデータの受け渡しができます。
Google Apps Scriptとは各種サービスの自動化・連携を行うためのサービスです。
環境構築の必要がなく、すぐに使用することができます。
今回はNotionのログインや利用方法に関しては省きますので、
Notionでアカウント作成後お読みいただければと思います。
まずはNotion APIからNotion API のアカウントを作成します。
マイインテグレーションへ進み、新しいインテグレーションを作成します。
名前は管理しやすい名前にします。
次に利用したいワークスペースを選択し「送信」をクリック。
トークンが発行されますのでコピーし管理しましょう。(トークンはのちほど確認可能です。)
Notionに戻り右上の設定から「コネクトの追加」をクリックし、先ほど作成したインテグレーションを選択します。
今回下図のようにタスクと日程を入力しています。
Google Apps Scriptにアクセスし、「新しいプロジェクト」 を作成します。
下記コードを貼り付けご自身の「データベースのID」「取得したトークン」に書き換えます。
トークンはインテグレーション作成時に発行されたトークン、
データベースIDはhttps://www.notion.so/〇〇〇〇/[データベースID]?v=〇〇〇〇
設定によってはワークスペース名の部分がない場合もあるのでご自身の環境に合わせ確認してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
function getNotionData() { const database_id = '[データベースのID]'; const url = 'https://api.notion.com/v1/databases/' + database_id + '/query'; const token = '[取得したトークン]'; let headers = { 'content-type': 'application/json; charset=UTF-8', 'Authorization': 'Bearer ' + token, 'Notion-Version': '2021-08-16', }; let options = { 'method': 'post', 'headers': headers, "muteHttpExceptions": true }; let notion_data = UrlFetchApp.fetch(url, options); notion_data = JSON.parse(notion_data); Logger.log(notion_data) } |
入力したタスクと開始日が取得できました。
また終了日を入力したタスクに関しては終了日もちゃんと取得できています。
GASは環境構築が不要で簡単に利用できる上に、
トリガーを設定し数時間おきに実行することや決まった時間に実行するなどいろいろなことができます。
今後便利なものやおもしろいものを作成した際はブログで紹介できたらと思います。