AndoroidでもNotionにサクッとメモがしたい
どうも、Androidユーザーです。先日こんな記事を見つけました。
テンプレも配布されてて、めっちゃいいじゃんと思ったのですが、ショートカット機能はMac, iPhone限定。。Androidで同じことをやりたくて、調べてみたもののMacroDroidってアプリが使えそうところまでしか見つけられなかったのでこのブログ記事を参考にしつつAndoroid版のNotionの連携機能を真似して作ってみました。
こうしたらできました
下準備(こちらを参考に)
- Notionインテグレーションの設定(
token
の値) - Notionデータベースの作成
- インテグレーションの接続
- データベースIDの確認(
database_id
の値) - 入力したい列のタイトルプロパティ名の確認(
property_title
の値) - MacroDroidをPlayストアからインストールする
MacroDroidを設定する
新規アクションの追加
- 右下の
+
ボタンから新規マクロを作成する
Triggers
の設定
-
Widget Button
を検索して追加する - 適当なウィジェットの色や形を設定してください
- あとからホーム画面に設置して使います
Actions
の設定
Local変数token
の定義
-
Set Variable
を選んで,[新規変数]
を選択する - Variable Typeを
String
に設定し、Local変数名token
を定義 -
Value
を選択して下準備でゲットしたtoken
の値を設定する
Local変数database_id
の定義
-
Set Variable
を選んで,[新規変数]
を選択する - Variable Typeを
String
に設定し、Local変数名database_id
を定義 -
Value
を選択して下準備でゲットしたdatabase_id
の値を設定する
Local変数property_title
の定義
-
Set Variable
を選んで,[新規変数]
を選択する - Variable Typeを
String
に設定し、Local変数名property_title
を定義 -
Value
を選択して下準備でゲットしたproperty_title
の値を設定する
Local変数auth_header
の定義
-
Set Variable
を選んで,[新規変数]
を選択する - Variable Typeを
String
に設定し、Local変数名auth_header
を定義 -
Value
を選択してBearer {lv=token}
と値を設定する
ユーザー入力を受け取る変数を定義
-
Set Variable
を選んで,[新規変数]
を選択する - Variable Typeを
String
に設定し、Local変数名note_content
を定義 -
[User Prompt]
を選択する -
Title
,Description
は空のままokをおして閉じてよい
POST部分の作成
JSONはこんな感じで
{
"parent": {
"database_id": "{lv=database_id}"
},
"properties": {
"{lv=property_title}": {
"title": [
{
"text": {
"content": "{lv=note_content}"
}
}
]
}
}
}
追記) もしメモした日付も一緒に記録したい場合はこう書く。(記載日
列を日付フォーマットで入力する) もちろん個別に変数定義してもok。
{
"parent": {
"database_id": "{lv=database_id}"
},
"properties": {
"{lv=property_title}": {
"title": [
{
"text": {
"content": "{lv=note_content}"
}
}
]
},
"記載日": {
"date": {
"start":"{year}-{month_digit}-{dayofmonth}"
}
}
}
}
動作確認する
- MacroDroidの右上のボタンを押して
Test Actions
を押すと動きます。 - うまくいかないときはlogを見てパラメータミスが無いか確認しました。
- HTTP RequestのSettingsでlogファイルを出力するように設定できます
おまけ
よくわかんなかったのでGeminiやClaude 3に助けてもらいながら設定しました。
MacroDroid内でlocal変数を呼び出す場合は{lv=変数名}
みたいな書き方をするようです。
Voice Input
のActionを使うことで音声入力からも同じくメモが取れます。
デバッグはPostman使ってMACのショートカットと同じ入力した場合の返り値とエラーの場合の返り値とを比較しました。