Posted at

Google Homeとヨドバシ.comを連携させてみた

More than 1 year has passed since last update.

流行りに乗ってGoogle Homeを買いました。

なんですかね。この近未来感


年代なのか、やはり声で操作できるってのは無条件ですごいですよね。

と言いながらまだ何ができるかよくわかってなく、もっぱら朝のラジオとアラームに終始しています

ただそれだけではさすがに勿体無いので、日頃お世話になってる


ヨドバシ.comと連携させてGoogleHomeから買い物できるようにした

Yodobashi Go Homeを作ってみました


GitHub

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の設定は完了です

サーバ側の設定はまた次回