Google NestをIFTTTと組み合わせてWEBサービスと連携しよう!
こんにちは、ゆき(@Yuki_no_yabo)です!
IFTTT(イフト)というウェブサービスをご存知でしょうか。
If this then that(もしこれをしたなら、その時あれする)の略で、様々なアプリケーション間の連携を行ってくれる便利なサービスなんです。
IFTTTを使えば、Google Nest/Homeが持っていない機能をさらに拡張することができるんです。
今回はそんなIFTTTを使って、Google Nest/Homeから音声コマンドで他サービスを利用する方法を紹介します。
目次
IFTTTをGoogle Nestと連携させてできること
例えば、次のようなことが出来ます。
IFTTTを使うとできること
- If (Google Nestに話しかけたら)、then (Twitterで呟く)
- If (Google Nestに話しかけたら)、then(メールを送る)
- If (Google Nestに話しかけたら)、then (カレンダーに予定を登録する)
IFTTTに登録されているサービスは既に600以上にもなっており、有名なITサービスは全て含まれているといっても過言ではありません。
本記事では、以下のやり方を紹介します。
- Google Nest/HomeからTwitterに投稿する
この 投稿 は ifttt を 使っ てい ます – Post from Google Home
— ゆきの野望 (@Yuki_no_yabo) 2017年10月8日
(参考)Google HomeにつぶやくとTwitterでつぶやくやつ、IFTTTですぐできた。
※上記記事のままだとちょっと認識しにくいので、改良しました。
IFTTTへ登録しよう
Google Nest側は特に設定の必要はありません。
まずはIFTTTの登録をしましょう。登録はメールアドレスとパスワードの入力だけですぐにできます。
(1)IFTTTのページにアクセスしましょう。
(2)メールアドレスを登録し、Get Startedを選択します。
Apple・Google・Facebookのアカウントで作成する事も出来ます。
(3)無事にログインが出来たら、次のような画面になります。
IFTTTで自分のApplet(コマンド)を作成しよう
IFTTTでは、あるサービスで何か起きた時に、別のサービスに何かさせるというプログラムを組むことが出来ます。
その挙動を作るのがApplet(アップレット)。
プログラムというと複雑そうですが、とっても簡単に作れるので是非やってみてください。
他の人の作ったものを使用することもできますが、今回は自分で作ってみましょう。
Google NestからTwitterに投稿するアップレットを作る
ここではTwitterのAppletの作り方を説明します。
(1)Create画面から「Build your own service」を選択します。
(2)「Choose a Service」(サービスを選択する)の、Searchの枠に「Google」と入力しましょう。
表示されたサービスから「Google Assistant」を選択します。
(3)Google Assistantのサービスと「Connect(接続)」します。
(4)Connectボタンを押すと認証画面が出るので、Google Nestと連携しているGoogleアカウントでログインしましょう。
(5)トリガー(起動条件)を選択します。4つありますが、それぞれ次のような役割です。
- Say a simple phrase(定型句を言う)
- Say a phrase with a number(数字の変数と共に定型句を言う)
- Say a phrase with a text ingredient(テキスト変数と共に定型句を言う)
- Say a phrase with both a number and a text ingredient(テキスト変数と数字の変数と共に定型句を言う)
自由に好きな言葉をTwitterに投稿したい場合は、3か4を使いましょう。
毎日「おはよう」とGoogle Nestに話しかけたら、Twitterにも「おはよう」と投稿するのであれば、1を使います。
実はテキスト変数では数字も投稿できますが、音声認識は誤入力もあるので、エアコンの温度調整等、明確に数字が必要な操作を利用する場合に使うと良いかと思います。
(6)トリガーの条件の詳細を定義します。ここでは以下のように入力しました。
What do you want to say? | 自分が喋りかけるときの音声コマンドを記載。 今回は「Twitter $」としました。 |
What’s another way to say it? | 別の音声コマンドを記載。 例:Twitterで $ を投稿して |
And another way | 別の音声コマンドを記載。 例:Twitterに $ と書く |
What do you want the Assistant to say in response? | 投稿が成功したときに、Google Nestから発するメッセージ。 |
Language | 使用する言語。基本はJapanease。 |
$部分がテキスト変数で、自分が発言する内容を投稿に反映する部分になります。フォームに入力するときに、$の前後にはスペースが必要です。
僕の例では「Ok Google、Twitter これは投稿テストです」といえば、Twitterに「これは投稿テストです」と投稿されます。
元の記事では、「Twitterで $ とつぶやく」とされていましたが、このように助詞と動詞でテキスト変数を囲む音声コマンドは現状Google Home側で認識しにくいようです。
なので「コマンド+投稿内容」という内容の方が今はオススメ。
(7)次に、Twitterでの動作内容を規定します。「+that」をクリックしましょう。
(8)動作させるサービスを選びます。Twitterと検索して、Twiiterを選択しましょう。
(9)動作の選択になるので、「Post a tweet」を選びましょう。
(10)投稿内容を設定します。
「TextField」の部分が、先ほどGoogle Assistantの所で設定した$の部分が挿入されます。つまり、自分の発言内容。
デフォルトではテキスト変数$をそのまま投稿するようになっているので、僕は次のようにしました。
(11)これで、Appletの設定は完了です。
下部のFinishボタンを押すと、Google Nestで定義した音声コマンドが使えるようになります。
実際に発言してみると、以下のような感じに。
そうだ 京都 行 こう – Post from Google Home
— ゆきの野望 (@Yuki_no_yabo) 2017年10月9日
おわりに
他のサービスからのアクションを受けて、直接Google Nestに通知させる、という事は現状できません。便利そうなのに…。
ただ、IoTデバイスを使えば、Google Nestから通知させることはできます。
少し古いやり方ですが、そちらについては「簡単!IFTTT連携でNefry BTのスイッチを押すとGoogle Homeが喋る仕組みを作る」にまとめました。
スマートホームやIoTデバイスとも連携が出来るので、色々と試してみるといいかも!あとは日本語化してくれるともっと使いやすくなるんですけどね。
以上!
ディスカッション