目次
Notionへのメモ追記を手軽にしたい
日本で人気が急上昇し始めた、情報を整理するための高機能なメモアプリがNotionです。タスク管理やメモ同士のリンクなど、アイデア次第でいろいろなことができる非常に強力なアプリです。特に他のアプリと連携することで真価を発揮します。Notionはどちらかといえばじっくりと整理する用途に向いています。そのため、実は思いついたことをサッとメモを取るという用途にはあまり向いていないように思います。入力するためのアプリはもっと軽いものを使用したくなります。
iPhoneを使っていれば、Shortcutsというアプリを標準で使えます。ShortcutsとはAppleが提供しているアプリです。1つまたは複数の作業を素早く完了させることができます。iOS・macであれば無料で使うことができます。
このShortcutsを使えば、自分が使っているメモアプリに書いたメモを Notion のページに簡単に追記することができるようになります。このページに書いてあることを基本として、Notionに追記したい情報を変更することで自由にNotionを扱うことができるようになります。作り方を覚えてみましょう。
サンプルのダウンロードはこちらからできます。
Notionのページを構成する主な要素
Notionのページを構成する要素にはページプロパティ、ページID、ブロックがあります。メモを追記するために必要な知識なので、それぞれ詳しく見ていきます。
ページプロパティ(ページの属性)
ページについている付加情報です。データベースに追加したページについているプロパティがそれです。またページのタイトルもプロパティの一種です。
ページID
Notionのページを表す固有のIDです。全てのページに必ず一つ割り当てられています。変更したいページのページIDを知ることができればAPIで操作をすることができます。ページIDを調べるためにはいくつかの方法があります。どの方法でも同じものになります。
ブラウザのアドレスを調べる
Notionをブラウザで開いてアドレスを見てみると次のようになっています。赤文字のところがページIDを表しています。
https://www.notion.so/afc9fd2ddcb04f03a8c6abd8f4c6c568?pvs=4
Notionアプリから調べる
Notionアプリで調べたいページの三点リーダをタップするとページメニューが開きます。メニューの中からリンクをコピーを探してタップしてください。ページのアドレスがコピーされます。
メモなどにペーストすると次のようになっています。赤文字のところがページIDを表しています。
https://www.notion.so/afc9fd2ddcb04f03a8c6abd8f4c6c568?pvs=4
Notion APIの結果を調べる
Notion APIを使って新しくページを作ったりページ情報を取得したりすると、次のようなJSONを取得できます。idというキーが表す値がページIDです。(内容は一部省略しています)
{
"object": "page",
"id": "afc9fd2-ddcb-04f0-3a8c-6abd8f4c6c568",
"properties": {
"Name": {
"title": [
{
"type": "text",
"text": {
"content": "Tuscan kale"
}
}
]
}
}
}
アドレスやリンクで調べたページIDとは違って、 “-“(ハイフン) が中に含まれています。このまま扱うとうまくいかない場合があるので、Shortcutsで扱う場合には次のようにしてハイフンを取り除いておくとよいでしょう。
afc9fd2ddcb04f03a8c6abd8f4c6c568
ブロック(ページの中身)
Notionのページは一行ずつが「ブロック」と呼ばれます。つまりブロックの集合でページが構成されています。Notionでページを開いて+を押すとブロックを選ぶことができます。ブロックにはテキスト、リンクのようないろいろなブロックの種類があります。
Notionのページに何かを書き込むことはブロックを追加すると言い換えることができます。実際に、APIを使ってページに書き込む時は指定したページにブロックを追加するという操作をします。今回は一番基本的なテキストブロックを追加します。
Shortcutsを使ってメモを追記する
Shortcutsに用意されているアクションURLの内容を取得を使います。
Notionに作ったページにテキストを追加するためのアクションを書いたものがこちらです。
各部の説明
- ①…APIのエンドポイントと方法です。Notionに対してどんな方法で操作を行うのかを指定します。ブロックを追加する時、方法にはPATCHを指定してください。
- ②…リクエストヘッダです。Notion APIにアクセスするための詳細情報を記載します。どの方法を使う場合もすべて同じことを書きます。
- ③…リクエストボディです。方法でGETを選んだ場合は表示されません。具体的にNotionに送るデータの中身を記載します。ここに書いてある情報を元にメモが追記されます。
APIのエンドポイントと方法
URLと方法の組み合わせでNotionにどんなことをしたいのかを表します。ブロックを追加する時の方法はPATCHを選択してください。
URLにはメモを追記したいページIDを表す変数 page_id を入れています。あらかじめ変数を設定しておきましょう。
エンドポイントと方法についての詳しい説明はこちらを参照してください。
リクエストヘッダ
リクエストヘッダについての詳しい説明はこちらを参照してください。
リクエストボディ
Notionに送信するブロックの情報です。ブロックの情報は辞書形式で値を扱います。
キー | 値 |
children | ブロックの配列 |
ブロックは種類ごとに決められた書き方をします。childrenの下に書き方に従ったブロックをいくつも入れることができます。今回はテキストブロックを一つだけ入れるように作っています。次にchildrenの中身を見ていきます。
paragraph
paragraphとは日本語で 段落 です。一つのparagraphにはテキストを何個もいれることができるため、配列形式にしています。配列とはリストと同じ意味です。
キー | 階層 | 種類 | 値 | 備考 |
paragraph | 1 | 辞書 | なし | |
rich_text | 2 | 配列 | なし | |
項目1 | 3 | 辞書 | なし | |
text | 4 | 辞書 | なし | |
content | 5 | テキスト | [テキスト] | 値は追記したいテキストにしてください |
ちょっと複雑で分かりづらいですが、Notion APIを使うためにはこの様に書く必要があります。テキストを何行も書きたい場合は同じものをchildrenの下に追加してください。
テキストを入力する
最後に追記するテキストを設定しましょう。テキストは他のアプリから呼び出して自由に入力できるようにします。作った Shortcut を別のアプリから呼び出した場合にはその入力を、入力がなかったり直接 Shortcut を実行した場合にはその場で入力したテキストを使えるようにします。テキストはテキストという名前で 変数を設定 します。
アクション テキスト の中で変数を選択を選び、さらにショートカットの入力を選んでください。受け付ける入力は ファイル・テキスト、 もし入力がない場合は 入力を要求、テキストのみにするとこの Shortcut は必ずテキストが入力されるようになります。作ったらテストをしてみましょう。テキストが追記されていたら成功です。
他のアプリから呼び出すためには、Shortcut の詳細設定を開いて 共有シートに表示 をONにしてください。他のアプリから呼び出すことができるようになります。
iPhoneに標準搭載しているメモを開いてテキストを入力してください。共有を押して先程作ったShortcut を選択して、Notionのページにメモが追記されていたら完了です。
入力がない場合は 入力を要求 を設定していたら、Shortcutをそのまま実行すると入力フォームが表示されます。ここに入力したテキストがNotionのページに追記されます。
おわりに
今回作成したサンプルはこちらからダウンロードできます。
初回実行時のみインテグレーションのシークレットとページIDを聞かれます。あらかじめ準備してからお試しください。またこのShortcutではAPIを使用しており、こちらも初回のみ許可を求められます。
いかがでしたでしょうか。ShortcutsでNotionにメモを追記するための手順を書いてみました。これを他のアプリから呼び出すようにすれば、どんなアプリからもメモを追記することができるようになります。また今回はページを指定して作りましたが、検索したページに追記する、といったことも実現できます。
作るのは少し大変ですが、一度作ってしまえば呼び出すだけで便利に扱うことができるようになります。ぜひ試してみてください!
コメント