siriにNotionへ音声メモを追加してもらう

705
NO IMAGE

動機

個人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ステップです。

  1. NotionのMy integrationsへintegrationを追加
  2. integrationをメモを追加したいNotionデータベースページへ追加
  3. postmanでNotionAPIの設定をテストする
  4. iphone上で音声メモを追加するショートカットを作成

作業詳細

NotionのMy integrationsへintegrationを追加

  1. Notionへメモを追加するために、NotionAPIを使用します。
    NotionAPIを使うためには、NotionのWorkspaceにintegrationを追加する必要がありますが、これにはWorkspaceでAdmin権限を持っている必要があります。
    権限の有無は、Notionアプリ->Settings&Members->Membersで確認できます。
  2. 権限があることを確認したら、このページよりよりintegrationを追加します。
    名前を設定し、あとはデフォルトで大丈夫です。
    スクリーンショット 2022-07-24 12.06.25.png
  3. これでintegrationを追加は完了しました。
    次の作業のために、Internal Integration Tokenを取得します。
    スクリーンショット 2022-07-24 12.07.33.png

integrationをメモを追加したいNotionデータベースページへ追加

  1. 音声メモを追加するためのNotion databaseを作成します。
  2. databaseがあるページの右上の「Share」ボタンを押します。
    スクリーンショット 2022-07-24 13.03.33.png
  3. Shareボタンを押した後に出るフォームをクリックすると、先ほど追加したintegrationが出てきますので、それをクリックした後、inviteボタンをクリックします。これで追加完了です。
    スクリーンショット 2022-07-24 12.11.13.png

postmanでNotionAPIの設定をテストする

postmanは、WebAPI開発用のツールです。今回は、NotionAPIへリクエストを飛ばして、正しい結果が得られることを確認するために使います。

  1. postmanで次のように設定します。
    Header
    スクリーンショット 2022-07-24 12.14.41.png

    • Authorization ここの値は、作業1で取得したintegration_tokenです。
    • Notion-Version 2022-06-28

    Body
    スクリーンショット 2022-07-24 8.36.22.png

    • parent: { database_id: database_idの値 }
      database_idの値は、データベース右上の3点リーダー→ Copy link to viewをクリックします。
      すると、https://www.notion.so/{database_id}?v={view_id}という形式のリンクが取得できるので、database_idの部分を入力して下さい。
      スクリーンショット 2022-07-24 12.22.37.png
    • propertiesの中のタイトルという項目は、databaseのフィールド名になります。ご自分の環境に合わせて、変更して下さい。ここでは「タイトル」というフィールド名にしています。
  2. Sendボタンを押して、databaseへテストが追加されていたら、成功です。
    スクリーンショット 2022-07-24 12.31.09.png

iphone上で音声メモを追加するショートカットを作成

  1. iphoneの「ショートカット」アプリを起動します。
  2. アプリ右上の「+」ボタンをクリックし、新しいショートカットを追加します。
    Image from iOS (22).png
  3. ショートカットの名前はなんでもいいですが、今回は「アイデア」にします。
    この名前は後でsiriから呼び出す時の名前になります。
    Image from iOS (18).png
  4. アクションを追加していきます。
    3の画像の下にあるフォームからテキストと検索してください。
    Image from iOS (17).png
  5. テキストという項目が出てくるので、タップします。
    テキストにdatabase_idの値を入力します。
    また、次のアクションの提案にある「変数を設定」項目を追加し、テキストの値をdatabase_idへ設定します。
    Image from iOS (13).png
  6. 同様の操作でテキストを呼び出し、integration_idも変数へ設定します。
    Image from iOS (14).png
  7. アクション「テキストを音声入力」を追加します。
    Image from iOS (22).png
  8. アクション「URLの内容を取得」を追加します。
    URLへは、Notion APIを呼び出すために、https://api.notion.com/v1/pagesを入力してください。
    Image from iOS (24).png
  9. 「方法」、「ヘッダ」、「本文を要求」へ設定を行います。
    ここの設定は複雑ですが、postmanでapiのコードを作成しているので、それをショートカットアプリ用にすればOKです。

    Image from iOS (25).png

    parentの設定方法

    Image from iOS (7).png

    propertiesの設定方法

    Image from iOS (6).png
    Image from iOS (5).png
    Image from iOS (4).png
    Image from iOS (3).png
    Image from iOS (2).png

    一応文字でも書いておきます。()の中で示したフィールドタイプを選択しています。

    方法

    • POST

    ヘッダ

    • Authorization: \<integration_token>(テキスト)
    • Notion-Version: 2022-06-28(テキスト)

    本文を要求

    • JSON
    • parent(辞書)
      • database_id: \<database_id>(テキスト)
    • properties(辞書)
      • タイトル(辞書)
        • title(配列)
          • 項目1(辞書)
            • text(辞書)
              • content: \<音声入力されたテキスト>(テキスト)
  10. これで設定は完了です。

動作確認:Siriを呼び出す

Hei, Siri アイデアと言ってみて下さい。
テキストを求められるので、何か話すと、話した内容のタイトルを持った項目が追加されます。
画像ではテストと言ってます。
スクリーンショット 2022-07-24 12.31.09.png

おまけ

siriを呼び出す時にあったこと

  1. ショートカットに追加し、Hei, Siri アイデアと行ってみたのですが、アイデアについて、検索をしてしまって、アイデアのショートカットが起動しませんでした。
    この時は、Hei, Siri ショートカットと言った後に、どのショートカットか聞かれるので、アイデアと答えると、起動できました。
  2. また、何度かショートカットの起動を行っていたら、Hei, Siri アイデアだけでも起動してくれるようになりました。
  3. iphoneに顔を向けて、話しかけないと、反応してくれなかったです。

Siriの音声認識具合

  1. ショートカットの名前を「アイデア」にして、Siriを呼び出す時は、「Hei, Siri アイデア」と発音しましょう。決して、「アイディア」と発音してはいけません。(僕はこれで聞き取ってもらえませんでした。)
  2. 吃ると途中で入力の受付をやめてしまう。
  3. ある程度長い文章でもつかえなければ、認識してくれる。逆を言えば、一気に読み上げないといけない。
  4. ランニングの最中に、コメントしてみましたが、きちんとメモしてくれてました。

Siri音声入力サンプル

読み上げた文章 → 読み取った文章

  • 吾輩は猫である名前はまだない → 吾輩は猫である名前はまだない
  • 週間天気明日は広く晴れも火曜日以降は関東など強雨に注意
    → 週間天気明日は広く晴れも火曜日以降は関東など今日雨に注意
  • Vログ → ブログ