0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Alfred Workflowを使ってNotionにメモを追加し作成したメモを開く方法

Posted at

はじめに

Notionは便利なのですが、さっとメモを取りたい時にアプリが起動していないと実際のメモ作成までにかかる時間が結構かかる点が不満でした。

今回はAlfredのWorkflowを使ってNotionのデータベースに新しいメモを追加し、そのメモをNotionアプリで開く方法を紹介します。

前提条件

  • Alfredがインストールされていて、Powerpackを購入してあること(Workflowを使う)
  • Notionアカウントを持っていること
  • jqコマンドがインストールされていること(Homebrewを使用してインストール可能)
brew install jq

手順

Notion APIトークンとデータベースIDの取得

APIトークン

Notionのインテグレーションページにアクセスし、名前はAlfred Memo Adderとでもして新しいインテグレーションを作成します。インテグレーションのAPIトークンをコピーします。

データベースID

Notionのデータベースに移動し、URLからデータベースIDを取得します。データベースURLhttps://www.notion.so/workspace_name/XXXXXXX?v=ZZZZZZZZZZZのXXXXXXXの部分です。あとで使うのでどこかに保存しておいてください。

Alfred Workflowの作成

Alfredのアイコンをクリックし、Preferencesを開き、Workflowsタブに移動。

  1. 新しいワークフローを作成:
    左下の「+」ボタンをクリックし、「Blank Workflow」を選択します。ワークフローに名前(例:「Notion Page Creator」)を付けます。
  2. キーワードトリガーの設定
    キーワードトリガーを追加:ワークフロー編集画面で、右クリックして「Inputs」 > 「Keyword」を選択します。
    Keyword: memo with space Argument Optional
    Title: Add new memo to Notion
    Subtext: Enter the memo content
    と設定します。ここの文章は何にしても自由です。
  3. スクリプトアクションの設定
    キーワードトリガーの右に、「+」ボタンをクリックし、「Actions」 > 「Run Script」を選択します。
    Language: /bin/zsh --no-rcs with input as argv running instances Sequentially
    として以下のスクリプトを入力します。APIトークンとデータベースIDを適切な値に置き換えてください。
    コードをコピーする
#!/bin/bash

# Alfredの入力からメモの内容を取得。引数がない場合はデフォルトのタイトルを設定
NEW_MEMO_TITLE=${1:-Untitled}

# 必要なAPIトークンとデータベースIDを設定
API_TOKEN="your_notion_api_token"
DATABASE_ID="your_database_id"

# APIリクエストを実行して新しいページを作成
RESPONSE=$(curl -s -X POST "https://api.notion.com/v1/pages" \
    -H "Authorization: Bearer $API_TOKEN" \
    -H "Content-Type: application/json" \
    -H "Notion-Version: 2022-06-28" \
    -d '{
        "parent": { "database_id": "'$DATABASE_ID'" },
        "properties": {
            "Name": {
                "title": [
                    {
                        "text": {
                            "content": "'$NEW_MEMO_TITLE'"
                        }
                    }
                ]
            }
        }
    }')

# レスポンスを表示して確認
echo "API Response: $RESPONSE" >&2

# ページIDを取得
PAGE_ID=$(echo $RESPONSE | jq -r '.id' | sed 's/-//g')

# Notionアプリで開くためのURLを生成
FULL_URL="notion://www.notion.so/$PAGE_ID"

# URLを表示して確認
echo "Generated URL: $FULL_URL" >&2

# URLを出力してAlfredの次のアクションで使用
open $FULL_URL

実行方法

Alfredで「memo」と入力し、続けて新しいメモの内容を入力します。(入力しない場合はUntitledというページが生成されます。)
Bashスクリプトが実行され、新しいメモがNotionのデータベースに追加されます。
作成されたメモのURLが生成され、open コマンドによってNotionアプリで開かれます。

0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?