NotionAPIとgoogleSpreadSheetと連携する方法(備忘録)

作成日: 2025年4月5日

Notion

GoogleSpreadSheet

 

 

💻 フロントエンドエンジニア
いわけんと申します!
34歳から消防士を退職し、独学で学習しエンジニアに転職しました!
エンジニアのスタートはWEB制作
2023年の10月からWEB制作の学習を開始
2024年3月に退職しフリーランスへ
2024年8月に月収50万を達成
2024年11月からフロントエンドエンジニアとして就職
現在→Reactに特化したフロントエンジニアとして活躍中
本ブログはNextJsとNotionAPIを活用し作成しています。


 

本記事について

  • NotionAPIの取得方法
  • GASとの連携・設定方法
  • GASとvscodeを連携させる方法

NotionAPI Tokenを取得

取得するためには、Notionのユーザーであることが前提です。

もし、Notionのユーザーでなかった場合は登録を進めましょう。

 

https://www.notion.com/ja

 

早速ですがAPIの取得を進めていきましょう。

Notion APIを取得するためのプロジェクトを作成しましょう!

https://www.notion.so/my-integrations

ここに入ってみましょう!

Screenshot_2025-04-05_at_10.54.20.png

New Integrationをクリックして新しくprojectを作成

Screenshot_2025-04-05_at_11.11.37.png

Associated workspaceで自身のnotionを選び、save!


 

Screenshot_2025-04-05_at_11.19.32.png

次のページでtokenを取得することができます。

コピーします。


次に必要なdatabaseのidを取得します。

データベースを作成したらURLからIDを取得できる。

https://www.notion.so/yourworkspace/〇〇〇〇〇〇〇〇?d=XXXXXXXXXXXX

?dの前、自身のユーザー名の後の〇〇のところがIDです。

これもコピーする

google spread sheetの設定 GASを操作

APIとIDを取得できたらGASを使ってnotionと連携します。

まずは、GASの開き方

Screenshot_2025-04-05_at_11.32.52.png

 

開けたら下記のようになります。

Screenshot_2025-04-05_at_11.30.35.png

 

ここでコードを書き操作をできるようになります。

下記は今回使用したコードの例です。

実行してできることは、notionのデータベース内に新しくデータを挿入です。

 

まずは下記の内容をコピーして貼り付けたら実行してみましょう!

 

//ここにTOKENとIDをそれぞれ入力します。 const NOTION_API_TOKEN = ''; const NOTION_DATABASE_ID = ''; function test() { const formattedDate = Utilities.formatDate(new Date(), "Asia/Tokyo", "yyyy-MM-dd"); const payload = { parent: { database_id: NOTION_DATABASE_ID }, properties: { "name": { title: [{ text: { content: "name" } }] }, "date": { date: { start: formattedDate // ← ISO形式(例:"2025-04-10")を使う! } }, } }; const options = { method: "post", contentType: "application/json", headers: { Authorization: "Bearer " + NOTION_API_TOKEN, "Notion-Version": "2022-06-28" }, payload: JSON.stringify(payload) }; try { const res = UrlFetchApp.fetch("https://api.notion.com/v1/pages", options); Logger.log("成功!"); Logger.log(res.getContentText()); } catch (e) { Logger.log("エラー発生:" + e.message); } }

 

 

←ホームに戻る