目次
動機
個人OKRを設定しようとするときに、何にしようかあれこれ考えてみるのですが、机に座っているときは案が出ず、席を立つと思い付いたりする時がありました。
ただ、その場でメモすればよかったのですが、タイミングを逃してしまい、何を思い付いたか忘れてしまうことがありました。
なので、Siriから音声でメモを取ってもらうことにしました。
また、Notionを使っているので、メモはNotionへ追加することにしました。
使ったツール、バージョン
- iphone iOS 15.5
- ショートカット(iphoneアプリ)
- Notion 2.17.23.10.25.54 Desktop 2.0.20
- postman 9.24.2
作業概要
作業工程は、次の4ステップです。
- NotionのMy integrationsへintegrationを追加
- integrationをメモを追加したいNotionデータベースページへ追加
- postmanでNotionAPIの設定をテストする
- iphone上で音声メモを追加するショートカットを作成
作業詳細
NotionのMy integrationsへintegrationを追加
- Notionへメモを追加するために、NotionAPIを使用します。
NotionAPIを使うためには、NotionのWorkspaceにintegrationを追加する必要がありますが、これにはWorkspaceでAdmin権限を持っている必要があります。
権限の有無は、Notionアプリ->Settings&Members->Membersで確認できます。 - 権限があることを確認したら、このページよりよりintegrationを追加します。
名前を設定し、あとはデフォルトで大丈夫です。
- これでintegrationを追加は完了しました。
次の作業のために、Internal Integration Tokenを取得します。
integrationをメモを追加したいNotionデータベースページへ追加
- 音声メモを追加するためのNotion databaseを作成します。
- databaseがあるページの右上の「Share」ボタンを押します。
- Shareボタンを押した後に出るフォームをクリックすると、先ほど追加したintegrationが出てきますので、それをクリックした後、inviteボタンをクリックします。これで追加完了です。
postmanでNotionAPIの設定をテストする
postmanは、WebAPI開発用のツールです。今回は、NotionAPIへリクエストを飛ばして、正しい結果が得られることを確認するために使います。
-
postmanで次のように設定します。
Header
- Authorization ここの値は、作業1で取得したintegration_tokenです。
- Notion-Version 2022-06-28
Body
- parent: { database_id: database_idの値 }
database_idの値は、データベース右上の3点リーダー→ Copy link to viewをクリックします。
すると、https://www.notion.so/{database_id}?v={view_id}
という形式のリンクが取得できるので、database_idの部分を入力して下さい。
- propertiesの中のタイトルという項目は、databaseのフィールド名になります。ご自分の環境に合わせて、変更して下さい。ここでは「タイトル」というフィールド名にしています。
-
Sendボタンを押して、databaseへテストが追加されていたら、成功です。
iphone上で音声メモを追加するショートカットを作成
- iphoneの「ショートカット」アプリを起動します。
- アプリ右上の「+」ボタンをクリックし、新しいショートカットを追加します。
- ショートカットの名前はなんでもいいですが、今回は「アイデア」にします。
この名前は後でsiriから呼び出す時の名前になります。
- アクションを追加していきます。
3の画像の下にあるフォームからテキストと検索してください。
- テキストという項目が出てくるので、タップします。
テキストにdatabase_idの値を入力します。
また、次のアクションの提案にある「変数を設定」項目を追加し、テキストの値をdatabase_idへ設定します。
- 同様の操作でテキストを呼び出し、integration_idも変数へ設定します。
- アクション「テキストを音声入力」を追加します。
- アクション「URLの内容を取得」を追加します。
URLへは、Notion APIを呼び出すために、https://api.notion.com/v1/pages
を入力してください。
-
「方法」、「ヘッダ」、「本文を要求」へ設定を行います。
ここの設定は複雑ですが、postmanでapiのコードを作成しているので、それをショートカットアプリ用にすればOKです。parentの設定方法
propertiesの設定方法
一応文字でも書いておきます。()の中で示したフィールドタイプを選択しています。
方法
- POST
ヘッダ
- Authorization: \<integration_token>(テキスト)
- Notion-Version: 2022-06-28(テキスト)
本文を要求
- JSON
- parent(辞書)
- database_id: \<database_id>(テキスト)
- properties(辞書)
- タイトル(辞書)
- title(配列)
- 項目1(辞書)
- text(辞書)
- content: \<音声入力されたテキスト>(テキスト)
- text(辞書)
- 項目1(辞書)
- title(配列)
- タイトル(辞書)
- これで設定は完了です。
動作確認:Siriを呼び出す
Hei, Siri アイデアと言ってみて下さい。
テキストを求められるので、何か話すと、話した内容のタイトルを持った項目が追加されます。
画像ではテストと言ってます。
おまけ
siriを呼び出す時にあったこと
- ショートカットに追加し、Hei, Siri アイデアと行ってみたのですが、アイデアについて、検索をしてしまって、アイデアのショートカットが起動しませんでした。
この時は、Hei, Siri ショートカットと言った後に、どのショートカットか聞かれるので、アイデアと答えると、起動できました。 - また、何度かショートカットの起動を行っていたら、Hei, Siri アイデアだけでも起動してくれるようになりました。
- iphoneに顔を向けて、話しかけないと、反応してくれなかったです。
Siriの音声認識具合
- ショートカットの名前を「アイデア」にして、Siriを呼び出す時は、「Hei, Siri アイデア」と発音しましょう。決して、「アイディア」と発音してはいけません。(僕はこれで聞き取ってもらえませんでした。)
- 吃ると途中で入力の受付をやめてしまう。
- ある程度長い文章でもつかえなければ、認識してくれる。逆を言えば、一気に読み上げないといけない。
- ランニングの最中に、コメントしてみましたが、きちんとメモしてくれてました。
Siri音声入力サンプル
読み上げた文章 → 読み取った文章
- 吾輩は猫である名前はまだない → 吾輩は猫である名前はまだない
- 週間天気明日は広く晴れも火曜日以降は関東など強雨に注意
→ 週間天気明日は広く晴れも火曜日以降は関東など今日雨に注意 - Vログ → ブログ