0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

爆速BrainDump:Notion編

Posted at

はじめに

最近、評判の高いNotionを導入し、個人的な情報やタスクを管理し始めました。
移動時間にはXを使って技術情報をチェックしたり、週末にやりたいことを思いついたら、Notionのデータベースにメモを残しています。
しかし、スマートフォンからNotionのデータベースに情報を入力しようとすると、クリック回数が多く(特にURLを入力する際には、クリックが多くなってしまいます)、利便性に欠けると感じました。
そこで、爆速(できれば1クリックで完了するような)でデータベースにメモを残せるような仕組みを構築したので、3回に分けて紹介していきます。

  1. Notion / Notion API ← 今回
  2. Google Apps Script
  3. iPhone ショートカット

アーキテクチャ構成

アーキテクチャ図.png

実装

Notion Databaseの作成とAPI経由で作成したデータベースにレコードを追加するための設定を行います。

要約

  • Notionインテグレーションを作成する
    • シークレットを控える
  • データベースを作成する
    • ページのコネクトにインテグレーションを追加する
    • データベースIDを控える

A. データベースの作成

①任意のページにデータベースを作成する。
 Title、URL、Dateの3つのプロパティを設定する。
 ・Title:技術記事のタイトル or やりたいことの概要
 ・URL:技術記事のリンク
 ・Date:追加した日時

データベースの作成.png

②作成したデータベースの「設定」→「ビューのリンクをコピー」を押下し、データベースIDを取得する。
 ビューのリンクは、https://www.notion.so/{workspace_name}/{database_id}?v={view_id}のフォーマットで構成されているので、このdatabase_idを控える。

データベースのリンクを取得.png

B. インテグレーションの作成

①Notionの設定画面の「自分のコネクト」を選択し、「インテグレーションを作成または管理する」を押下する

notionの統合作成画面を開く.png

②ブラウザで「私のインテグレーション」画面が開いたら、「新しいインテグレーション」を押下する。

新しいインテグレーションを作成.png

③「基本情報」画面が開いたら、「関連ワークスペース」を選択、「名前」を入力し、「送信」を押下する。
 「関連ワークスペース」は、Aでデータベースを作成したワークスペースを選択する。
 「名前」は、任意の名前でOK(ここでは爆速BrainDumpとした)。

④インテグレーションが作成できたら、「シークレット」が表示されるので、メモする
 「表示」を押下すると「コピー」ボタンが出てくるので、「コピー」を押下することでクリップボードにシークレットをコピーすることができる。

作成したインテグレーションのシークレット.png

C. コネクトの追加

①Aで作成したデータベースがあるページを開き、右上の「設定」→「接続先」を押下し、Bで作成したインテグレーションを選択する。

ページのコネクトにインテグレーションを追加する.png

②許可ダイアログが出てきた場合は、「はい」を押下する。

動作確認

Notion API仕様

データベースにレコードを追加する際は、以下の仕様に則ってHTTPSリクエストする。
※データベースの各レコードは、Notionではページとして管理されている。

URL

エンドポイント:https://api.notion.com/v1/pages
メソッド:POST

Header

キー名 備考
Accept application/json
Notion-Version 2022-06-28 公式リファレンスに記載されている最新のVersionを指定
Authorization Bearer ${secret} Bで取得したシークレットを${secret}に入力

Body

{
    "parent": {
        "type": "database_id",
        "database_id": "${database_id}"  // ${database_id}: Aで取得したデータベースIDを設定する
    },
    "properties": {
        "Title": {
            "title": [
                {
                    "text": {
                        "content": "${title}" // ${title}: 追加するレコードのTitleを設定する
                    }
                }
            ]
        },
        "URL": {
            "url": "${url}" // ${url}: 追加するレコードのURLを設定する
        },
        "Date": {
            "data": {
                "start": "${date}" // ${date}: 追加するレコードのDataを設定する
            }
        }
    }
}

テストデータをリクエストする

API仕様の各変数に以下の値を設定して、リクエストする。

変数名
title 'Qiita'
url 'https://qiita.com/'
date '2024-04-14'

結果

リクエストした内容でデータベースにレコードが登録されていることを確認する。

最終動作確認結果OK.png

参考

Notion公式リファレンス

インテグレーションの作成

データベースにレコードを追加

Bodyに設定するレコードのデータ構造

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?