流行りに乗ってGoogle Homeを買いました。
なんですかね。この近未来感
年代なのか、やはり声で操作できるってのは無条件ですごいですよね。
と言いながらまだ何ができるかよくわかってなく、もっぱら朝のラジオとアラームに終始しています
ただそれだけではさすがに勿体無いので、日頃お世話になってる
ヨドバシ.comと連携させてGoogleHomeから買い物できるようにした
Yodobashi Go Homeを作ってみました
GitHub
構成
- Google Home
- さくらVPS
- IFTTT
- NodeJS
- CasperJS(PhantomeJS)
- SQLite
処理の流れ
Google Home → IFTTT → NodeJS → CasperJs → ヨドバシ.com
GoogleHomeに「おk Google 烏龍茶買って」と話しかければ
連携しているIFTTTのレシピが発火し
さくらVPSのNodeJSにPOSTリクエストを送ります
その際にAPI KEYと商品名も一緒に送ります
NodeJSがPOSTリクエストを受け取れば、CasperJSに商品詳細のURLを送り
CasperJSがyodobashi.comにアクセスし、ログインし対象の商品を買います
ハイテクになりきれてない1/3ぐらいのアナログ感が気に入ってます
CasperJS使わないと買い物できないヨドバシに踊らされてる感が好きです
IFTTTの設定
まずはGoogle HomeとNodeJSの架け橋のIFTTTの設定から
IFTTTさえ設定すればGoogle Home側では特に設定する必要はありません。
便利ですIFTTT
Appletの作成
Google Homeに紐づいてるGoogleアカウントでログインし
New AppletでGoogle Assistantを選択
Triggerは「 Say a simple phase」にする
トリガーの設定
Complete trigger fields画面で 以下の通り設定する
■What do you want to say?
烏龍茶買って
■What do you want the Assistant to say in response?
わかりました
■Language
japanese
これでまずはIFTTTのthisの部分はできました。
次はthatの部分です

アクションの設定
Google Homeに話しかける部分までは終わったので、それに対するアクションを設定します。
Node JSにPOSTを送る部分ですね
Choose action serviceでWebhooksを選択し
Make a web requestでは以下のように設定します
■URL
NodeJSのURL
■Method
POST
■Content Type (optional)
text/plain
■Body (optional)
key=uroncha&apiKey={api key}
これでsaveすればIFTTTの設定は完了です
サーバ側の設定はまた次回