iPhone TODOアプリからNotionへの移行
あくまで個人利用ですが、最近ゆるコンピュータ科学ラジオのデータベース回を聞いてnotionを使い始めました。
とても便利なので、今までiphoneのTODOアプリで行っていた個人のTODOをnotionに移行したい。課題はapple watchからの音声入力。ということで、notionのAPIを利用してapple watchからShortcutアプリを使ってNotionのデータベースにページを追加できるようにしてみました。
参考記事
Notion API連携!Apple Watchから音声入力でNotionにメモをとる
notion APIの設定こちらの記事を参考に設定しました。
こちらのページではGmailとZapperを使用して実現していますが、今回はこれら2つは使用しません。
【Notion API】 iPhoneから音声入力でNotionにメモ
1. Notion APIの設定
NotionのデータベースにAPIを利用してpageを追加できるようにします。
integrationの追加
ブラウザでNotionにログインした状態で https://developers.notion.com にアクセスします。
右上のView my integrations
をクリック。
新しいインテグレーション
をクリック。
Apple Watchから追加したいTODOリストのあるワークスペースを選択し、名前はわかりやすいものを。画像のアップロードはしなくてもOK。送信
をクリック。
内部インテグレーションシークレットをコピーします。ここで作成したインテグレーションシークレットは後ほど、Shortcutの設定に使用します。
コピーした後に更新
を押しちゃうと、コピーしたインテグレーションシークレットは無効になるので注意。インテグレーションシークレットは公開しないように注意が必要です。
TODOデータベースに連携の追加
TODOデータベースに対して、API経由のデータの更新などを許可するための設定を行います。
新規ページを作成し、新しいデータベースを作成します。
database inlineで作成した場合は、フルページで開いて次の手順です。
出来上がったDatabaseの名前は自由に変えてOKです。今回はFrom apple watchとしました。
デフォルトで追加されたプロパティの名前を[TODO]と[Origin]に変更します。
(デフォルトのままだと、後でAPIからプロパティの設定でうまくいきませんでした。)
database(page) idの取得
Notion APIではページを追加するdatabeseのIDが必要です。
TODOデータベースpageのIDを取得します。
作成したdatabaseページの・・・
→Copy link
を選択し、ページのリンクを取得します。
貼り付けるとこのような形式のurlが得られるので、?v=
の前の32桁の文字列がdatabase(page) IDです。このdatabase IDも後ほどショートカットの設定に使用します。
これでNotion側の設定は終了です。
2.Shortcutアプリの設定
iOSのショートカットアプリではhttpのpushを実行できるので、直接notionのAPIを呼び出し、データベースにページを追加します。
変数の外部保存
Notion APIの呼び出しには先ほど取得したintegretion keyとdatabase(page) IDを使用します。ショートカットの変数として直接記入してもいいですが、間違って公開すると困るので外部に記録します。
ショートカットアプリでは環境変数は使用できないので、メモアプリを使ってkeyとIDを外部に保存しました。
メモアプリで
notion database id[databaseのID(32桁の文字列)]
(スペースの有無に注意)
というメモと
notion api integration keyBearer [secret_から始まるintegration key]
(スペースの有無に注意)
というメモを作成します。
database idとintegration keyを生成するショートカットの作成
メモアプリからdatabase IDを取得するショートカット
メモアプリからintegration keyを取得するショートカット
databaseの追加を行うショートカットの作成
今回のショートカットは、Apple Watchからの入力を想定しているので音声入力でTODOを作成します。一方、同じショートカットを使ってiPhoneからTODOを作成したい場合で、音声入力が憚られる場面でも使用できるように、
音声入力を要求
→音声入力がなかった場合はテキストでの入力を求める
という内容になっています。
以上3つのショートカットをiPhoneのショートカットアプリに追加します。
3つ目のショートカットについてはapple watchでも表示できるようになっているので、apple watchのショートカットから実行できます。
今後
TODOに登録したときもあったり、jurnalに登録したいときもあったりと、シチュエーションごとに登録したいデータベースが違うので、今後は分岐を使って、いくつかのdatabaseに登録し分けれるようにしたいと思っています。