小技チョコレート

ちょっとした小技を紹介するだけのブログです。

Googleアシスタントに声で呼びかけたフレーズをDynalistのInboxへ書き込む方法

Googleアシスタントに“OK, Google”と呼びかけてから喋ったフレーズを、DynalistのInboxへ文字として記入する方法を紹介します。


〈目次〉


機能

任意に設定した3通りの言い方(例えば下記のようなもの)のうちのいずれかの言い方でGoogleアシスタントに呼びかけると、「〇〇」の部分をDynalistのInboxに記入します。

「〇〇」は単語でも文でも受け付けられます。

1回の記入内容が、Dynalistにおける1行(=1項目)として書き込まれます。途中での改行はできません。
Dynalistでの記入順は、上の行から順に〈新→旧〉または〈旧→新〉のどちらかを選ぶことができます。

記入し終えたタイミングでGoogleアシスタントに「応答」を発声させることができます。発声させるフレーズは任意に設定できます。

動作の様子

Google Nest Miniに「OK, Google ダイナリスト 玉ねぎ」と呼びかけた例です。

ユーザーの呼びかけから、「記入しました」との応答までが数秒で終わります。
「記入しました」が発声された時点で、Dynalistへの記入が終わっているようです。

f:id:ichbin:20200603150451p:plain

必要なもの

下準備

IFTTTのアカウント作成

IFTTTのアカウントを持っていない場合は、アカウントを作ります。

IFTTTにアクセスし、右上のSign upをクリックしてアカウントを作ります。

この部分の詳しい説明は割愛します。

DynalistのInboxの位置を指定

DynalistのInboxの位置をまだ指定していない場合は、下記の手順で指定します。
位置を指定済みであれば、次の工程へ進みます。

Inboxの位置の指定方法は2通りあります。

設定画面から指定する方法
PC版のDynalistをブラウザで開けないときは、この方法のみ使えます。

Dynalistの設定画面の中の“Your Inbox”の項目にて、Inboxに指定したいアイテム(行)の内容を入力欄に入力すると、候補が表示されます。その中から、Inboxに指定したいものを選択します。

f:id:ichbin:20190901165043p:plain

メニューから指定する方法
PCのWebブラウザ、またはPC版のDynalistのアプリケーションでDynalistを開いてログインし、テキストを取り込む場所として指定したい行を選択すると、その行の左側に「≡」の形のアイコン(ハンバーガーメニュー)が表示されるので、それをクリックします。すると、メニューが表示されるので、その中の“Set as Inbox”をクリック。

f:id:ichbin:20200602134117p:plain

すると、“○○○ is now your Inbox location”というメッセージが画面右上に出るはずです。以降は、その場所がInboxとして指定されています。

設定の手順

Dynalistにログインしたうえで、Developer - Dynalistをウェブブラウザで開き、“Your API secret token is: ”の下に表示されている長い文字列をコピーします(下記の画像でボカしている部分です)。

f:id:ichbin:20190804143052p:plain

次に、

{"token": "YOUR_SECRET_TOKEN", "index": 0, "content": "{{TextField}}"}

というテキストのYOUR_SECRET_TOKENの部分を、上述のSecret token(コピーした長い文字列)で置き換えます。

次に、ブラウザでIFTTTおよびGoogleにログインしたうえで https://ifttt.com/create をブラウザで開き、画面で中央の“This”をクリック。

f:id:ichbin:20200611101749p:plain

次の画面で、上部の検索フォームにgoogle assistantと入力。
すると、Google Assistantの黒いアイコンが表示されるので、それをクリック。

f:id:ichbin:20200603132418p:plain

自分のGoogleアシスタントをまだIFTTTに連携していない場合は、この画面になります(すでに連携済みであれば、画面は自動で次の工程に進みます)。

f:id:ichbin:20200603132530p:plain

黒いConnectをクリック。
すると、IFTTTに連携させるGoogleアカウントを選択する画面になります。

f:id:ichbin:20200603132553p:plain

連携させるGoogleアカウントをクリックします。

すると、IFTTTに「Google 音声コマンドの管理」の許可を与える画面になります。
許可を与えてよいと思う場合は、右下の「許可」ボタンを押します(許可を与えない場合は、この先へ進めません)。

f:id:ichbin:20200603132606p:plain

「許可」ボタンを押すと、このような画面になります。
Say a phrase with a texe ingredientというタイトルの黒い四角をクリック。

f:id:ichbin:20200603132629p:plain

次の画面に変わります。

f:id:ichbin:20200603132737p:plain

上から3番目までの入力欄には、「"OK, Google" に続けて自分が発声するフレーズ」を入力します。

例えば、「OK, Google ダイナリスト 〇〇」と発声することによって「〇〇」の部分をDynalistに記入させたい場合は、半角の$を用いて、

ダイナリスト $

と入力します。*1

入力欄が3つあるので、最大3種類までフレーズを指定できます。
1番目のWhat do you want to say?の入力欄には必ず入力が必要です。
2-3番目は空欄でも構いません。

f:id:ichbin:20200603132813p:plain

その下にあるWhat do you want the Assistant to say in response?の欄には、Dynalistへの記入が行われたタイミングでGoogleアシスタントに「レスポンス(応答)」として発声させたいフレーズを1つ入力します。

例えば、「OK」とか「記入しました」とか「Dynalistに〇〇を記入しました」などと応答させることができます。
それぞれ、

  • OK
  • 記入しました
  • ダイナリストに $ を記入しました

と入力します。

f:id:ichbin:20200603133008p:plain

その下のLanguageの欄では、Japaneseを選択します。

f:id:ichbin:20200603133024p:plain

ここまでできたら、一番下にあるCreate triggerをクリックします。

この画面に変わるので、+Thatをクリック。

次の画面に変わります。

f:id:ichbin:20200603133041p:plain

上部の検索フォームにwebhooksと入力し、表示された青いアイコンをクリックします。

f:id:ichbin:20200603133153p:plain

Make a web requestというタイトルの青い四角をクリック。

f:id:ichbin:20200603133118p:plain

この画面に変わります。

f:id:ichbin:20200603133229p:plain

先頭にあるURLの入力欄には、半角でhttps://dynalist.io/api/v1/inbox/addと入力します。

Methodの選択欄ではPOSTを選択します。

Content Typeの選択欄ではapplication/jsonを選択します。

f:id:ichbin:20200603133251p:plain

Bodyの入力欄には、上述の工程で作成しておいたテキスト、すなわち

{"token": "YOUR_SECRET_TOKEN", "index": 0, "content": "{{TextField}}"}

を入力します。ただしYOUR_SECRET_TOKENの部分は、上述のとおり各人のDynalistのSecret tokenで必ず置き換えておきます

f:id:ichbin:20200603133356p:plain

ここまでできたら、一番下にあるCreate actionをクリック。

このような画面になります。

f:id:ichbin:20200603133414p:plain

中央の入力欄には、機能の概要が書かれています。この文章は自分用の説明文ですので、もし書き換えたければ自由に編集できます。

その下にあるReceive notifications when this Applet runsのスイッチをオンにしておくと、Dynalistへの記入が行われるたびに、IFTTTのiOSアプリやAndroidアプリをインストールしてある端末に通知が来ます。
上述の音声による「応答」があれば十分である場合には、この通知は無くてもよいと思います。

最後に、Finishのボタンをクリックします。

f:id:ichbin:20200603133429p:plain

すると、この画面になります。

f:id:ichbin:20200603133510p:plain

ここまで済めば、ブラウザは閉じてもかまいません。

以降は、Googleアシスタントに対して、上述の工程で指定したフレーズ(言い方)で呼びかければ、その内容がDynalistのInboxに記入されていきます。

Inboxへの記入を停止 / 再開する方法

ブラウザでIFTTTにログインしたうえで https://ifttt.com/my_applets をブラウザで開くと、上述の工程で作った設定が、黒い四角形で表示されているので、これをクリック。

f:id:ichbin:20200603141203p:plain

次の画面で、下の方にあるConnectedという文字をクリックすると、Disconnecting→Connectという表示に変わります。
この部分がConnectになっている間は、Dynalistへの記入が停まっています。

f:id:ichbin:20200603141222p:plain

Dynalistへの記入を再開したい場合は、それとは逆に、Connectのところをクリックします。
すると、Connecting Google→Connectedという表示に変わります。
この部分がConnectedになれば、Dynalistへの記入が再開します。

f:id:ichbin:20200603141409p:plain

Googleアシスタントのアカウントを変更する方法

ブラウザでIFTTTにログインしたうえで https://ifttt.com/my_services をブラウザで開き、表示された一覧の中からGoogle Assistantをクリック。

f:id:ichbin:20200603141439p:plain

次の画面で、右上のSettingsをクリック。

f:id:ichbin:20200603141455p:plain

次の画面で、中央右側にあるEditをクリックすると、Googleアシスタントのアカウントを変更する工程に入ります。

f:id:ichbin:20200603141508p:plain

カスタマイズ

呼びかけのフレーズや応答のフレーズを変更する

ブラウザでIFTTTにログインしたうえで https://ifttt.com/my_applets をブラウザで開くと、上述の工程で作った設定が、黒い四角形で表示されているので、これをクリック。

f:id:ichbin:20200603141203p:plain

次の画面で、右上のSettingsをクリック。

f:id:ichbin:20200603141550p:plain

次の画面を下の方にスクロールしていくと、呼びかけのフレーズや応答のフレーズを指定する入力欄があります。
ここを書き換え、ページの一番下にあるSaveのボタンを押せば、変更が適用されます(Saveのボタンを押しても画面が切り替わらない場合は、入力内容に問題があり、エラーが赤字でページ内に表示されます)。

f:id:ichbin:20200603141609p:plain

Inboxにおける記入位置を変える

DynalistのInboxに新しい内容を記入する際に、それをInboxの先頭に記入するか末尾に記入するかを選択できます。

例えば、Inboxに下記のようにa, b, cという3つの項目(行)があるとき、

  • Inbox
    • a
    • b
    • c

「先頭に記入する」というのは、新しい内容をaの上側に記入することを意味します。
「末尾に記入する」とは、cの下側に記入することを意味します。

上述の工程で作ったIFTTTの設定においては、デフォルトでは「先頭に記入する」が採用されています。これを「末尾に記入する」に変更する手順は、次のとおりです。

ブラウザでIFTTTにログインしたうえで https://ifttt.com/my_applets をブラウザで開くと、上述の工程で作った設定が、黒い四角形で表 示されているので、これをクリック。

f:id:ichbin:20200603141203p:plain

次の画面で、右上のSettingsをクリック。

f:id:ichbin:20200603141550p:plain

次の画面を下の方にスクロールしていくと、Body (optional)という入力欄があります。
この欄の後半のほうに記入されている"index": 0のところを"index": -1に変えて、その下にあるSaveボタンをクリックすると、新しい内容がInboxの末尾に記入されるようになります(Saveのボタンを押しても画面が切り替わらない場合は、入力内容に問題があり、エラーが赤字でページ内に表示されます)。

f:id:ichbin:20200603141739p:plain

Dynalistのハッシュタグなどを付け加える

デフォルトの状態では、Dynalistに記入される内容は、自分が発声したフレーズのみ("OK, Google ダイナリスト 〇〇"などと言った場合の〇〇のみ)ですが、この「〇〇」の前や後ろにDynalistのハッシュタグ(や任意の文字)を付け加えることができます。その方法は次のとおりです。

ブラウザでIFTTTにログインしたうえで https://ifttt.com/my_applets をブラウザで開くと、上述の工程で作った設定が、黒い四角形で表示されているので、これをクリック。

f:id:ichbin:20200603141203p:plain

次の画面で、右上のSettingsをクリック。

f:id:ichbin:20200603141550p:plain

次の画面を下の方にスクロールしていくと、Body (optional)という入力欄があります。
この末尾のほうにある"{{TextField}}"のところを"{{TextField}} #hoge"と変えれば、Dynalistにおいて末尾に#hogeというハッシュタグが付くようになります。
また、"#hoge {{TextField}}"と変えれば、先頭側に#hogeというハッシュタグが付くようになります。

f:id:ichbin:20200603141739p:plain

この欄を書き換え、その下にあるSaveのボタンを押せば、変更が適用されます(Saveのボタンを押しても画面が切り替わらない場合は、入力内容に問題があり、エラーが赤字でページ内に表示されます)。

*1:この入力欄において半角の$は、Dynalistに書き込ませるフレーズを意味します。