[ブログ][Notion]GASとNotionをAPIで連携

Blog

こんにちは。てらです。今回はGASとNotionをAPIで連携について紹介します。

1.Notionとは

Notionは最近ブームとなっているクラウド上で管理可能な便利ツールです。メモやタスク管理などできることは様々、共有機能も充実しており、おしゃれなデザインも支持を集めています。私自身、Notionユーザーの一人で毎日の暮らしにとても役立っています。

2.NotionAPIの公開

21/5/13にNotionAPIがついに公開されました。春ごろ公開予定とされていて、とうとう来たかとユーザー達は歓喜しました。ノーコードでZapierやautomate,ioの連携は既に完了(Zapierは私自身構築しNotion連携可能であることは把握済。機会があればこちらの記事も公開予定)しており、もちろんコードでも可能です。

3.GASとNotionの連携

今回はGASでテキスト文字をNotionに送信する流れを紹介しようと思います。では、よろしくお願いします。

①Notion側のAPI設定

まずは、Notionで任意のページを作成しましょう。

左サイドバーのSettingsをクリックし

Integrationsを選択

Developをクリックし、自分の開発環境へ移動し、APIを作成します

+New integrations から作成しましょう

※ ここのtokenは使うのでメモが必要です(忘れても後ほど見れるので安心してください)

APIの名前設定、画像(無くても大丈夫)、typeはデフォルトのままで良いと思います

作成できたら、前の画面に表示されています(自分は事前に作ったものを再利用します)

APIを適用させたい、はじめに作ったNotionのページに戻り、右上のShareをクリック

inviteをクリックし、作成したAPIを選択できるのでクリックし、下図の水色のように追加されたら準備はオッケーです

GASのコードに、ページのデータベースIDが必要になります。

それは、URLの / から ? までの部分ですので、メモしておきましょう

②GASのコード

スタンドアローンのコードを書きましたので、コピペで動きます。

toNotionDatabaseを走らせると、Notionにテキストが追加されます。

Notionのアクセストークンと データベースIDを自分の値に変換しましょう。

ログ出力するコードですのでエラーの場合、ご自身で対応お願いします

function toNotionDatabase() { //任意のテキストに変更可能 const testMessage = 'シェアの為のAPI連携でGASからテキスト投稿'; const result = myNotion(testMessage); console.log(String(result)) } function myNotion(text) { const myToken = '';//クォーテーション内に任意のアクセストークン const myDatabaseId = '';//クォーテーション内に任意のデータベースID const url = 'https://api.notion.com/v1/pages'; const notion_token = myToken; const database_id = myDatabaseId; const headers = { 'Content-Type' : 'application/json; charset=UTF-8', 'Authorization': 'Bearer ' + notion_token, 'Notion-Version': '2021-05-13', }; const post_data = { 'parent': {'database_id': database_id}, 'properties': { 'Name': { 'title': [ { 'text': { 'content': text, }} ]} } }; const options = { "method" : "post", "headers" : headers, "muteHttpExceptions" : true, "payload" : JSON.stringify(post_data) }; try{ return UrlFetchApp.fetch(url, options); } catch(e){ return e.message.text; } }

無事にテキストが入力されていますね。

まとめ

今回はGASを使った簡単なNotionとの連携をしました。 APIの連携で今後可能なことは広がっていきますので、Notionへの新規参入も増えより活発になるように思います。現在のところWebhookはまだ利用できないようです。まだ、ベータ版なので今後に注視していきたいと思います。ありがとうございました。また、何かあれば更新します。

Comments

Copied title and URL