GASでNotionデータベースを自在に操る!基本から応用まで
/ 初心者向け
GASでNotionデータベースを自在に操る!基本から応用まで
皆さん、こんにちは!GAS専門ブロガーの[あなたの名前]です。
今回は、多くの人が活用している情報管理ツール「Notion」と、Googleの自動化ツール「Google Apps Script (GAS)」を連携させ、Notionデータベースを自動で操作する方法について、初心者の方にも分かりやすく解説していきます。
Notionのデータベースは、タスク管理、プロジェクト管理、顧客リストなど、様々な用途で活用できます。GASを使えば、これらのデータベースをExcelのように扱ったり、他のGoogleサービス(スプレッドシート、Gmailなど)と連携させたりと、可能性は無限大です。
なぜGASでNotionデータベースを操作するのか?
GASとNotionを連携させることで、以下のようなメリットがあります。
- 業務効率化: 定型的なデータ入力や更新作業を自動化し、時間を節約できます。
- データ連携: Notionのデータをスプレッドシートに自動で出力したり、Gmailで通知を送ったりできます。
- カスタマイズ性: Notionの標準機能だけでは実現できない、独自のワークフローを構築できます。
Notion APIの基本
GASからNotionデータベースを操作するには、NotionのAPIを利用します。API(Application Programming Interface)とは、異なるソフトウェア間で情報をやり取りするための「窓口」のようなものです。
Notion APIを利用するためには、いくつかの準備が必要です。
1. Notion Integration Tokenの取得: Notionの設定画面からAPIキー(Integration Token)を取得します。これは、GASがNotionにアクセスするための「鍵」になります。
2. データベースIDの取得: 操作したいNotionデータベースのIDをURLから取得します。
これらの準備ができたら、GASでAPIリクエストを送信することで、Notionデータベースの操作が可能になります。
データの取得 (GETリクエスト)
まずは、Notionデータベースからデータを取得する方法を見ていきましょう。
function getNotionDatabase() {
const NOTION_API_KEY = 'YOUR_NOTION_API_KEY'; // 取得したAPIキーを貼り付け
const DATABASE_ID = 'YOUR_DATABASE_ID'; // 操作したいデータベースIDを貼り付け
const url = `https://api.notion.com/v1/databases/${DATABASE_ID}/query`;
const options = {
'method' : 'post',
'headers' : {
'Authorization' : 'Bearer ' + NOTION_API_KEY,
'Content-Type' : 'application/json',
'Notion-Version' : '2022-06-28' // Notion APIのバージョンを指定
}
};
const response = UrlFetchApp.fetch(url, options);
const data = JSON.parse(response.getContentText());
Logger.log(data);
}
このコードを実行すると、指定したデータベースの全レコードが取得され、GASのログに出力されます。dataオブジェクトには、Notionデータベースの各カラムの値が含まれています。
データの追加 (POSTリクエスト)
次に、新しいレコードをデータベースに追加する方法です。
function addNotionRecord() {
const NOTION_API_KEY = 'YOUR_NOTION_API_KEY';
const DATABASE_ID = 'YOUR_DATABASE_ID';
const url = `https://api.notion.com/v1/pages`;
const payload = {
'parent': {
'database_id': DATABASE_ID
},
'properties': {
'Name': {
'title': [
{
'text': {
'content': '新しいタスク'
}
}
]
},
'ステータス': {
'select': {
'name': '未着手'
}
}
}
};
const options = {
'method' : 'post',
'headers' : {
'Authorization' : 'Bearer ' + NOTION_API_KEY,
'Content-Type' : 'application/json',
'Notion-Version' : '2022-06-28'
},
'payload' : JSON.stringify(payload)
};
const response = UrlFetchApp.fetch(url, options);
const data = JSON.parse(response.getContentText());
Logger.log(data);
}
payloadオブジェクトで、追加したいレコードの情報を指定します。propertiesの部分は、Notionデータベースのカラム名と、その値の形式に合わせて調整してください。
データの更新 (PATCHリクエスト)
既存のレコードを更新するには、PATCHリクエストを使用します。更新するには、対象となるレコードのページIDが必要です。
データの削除 (DELETEリクエスト)
レコードを削除するには、DELETEリクエストを使用します。こちらもページIDが必要です。
まとめ
今回は、GASを使ってNotionデータベースを操作する基本的な方法について解説しました。データの取得、追加、更新、削除といった基本的な操作をマスターすれば、NotionとGASを連携させた様々な自動化ワークフローを構築できます。
次回は、より実践的な応用例として、スプレッドシートとの連携や、条件に基づいたデータ操作などを紹介する予定です。ぜひ、NotionとGASの可能性を広げていきましょう!
ご質問やご要望があれば、コメント欄でお気軽にお寄せください。
それでは、また次回のブログでお会いしましょう!
GAS自動化の導入相談
請求書PDF作成、Gmail自動送信、Slack通知、スプレッドシート連携などを業務に合わせて実装できます。