投稿

ラベル(api)が付いた投稿を表示しています

Google Home の独自コマンドを PHP から応答

イメージ
Google Home(Assistant) の独自コマンドを PHP(Webサーバ) から応答させたときのメモ 【注意】 ここで使用する独自コマンドは、Google Home から独自コマンドが搭載された自作アプリへ接続して、会話を行うような利用方法です。ok,google に続いて一発ものの命令を行う場合 IFTTT を利用するほうが容易です 基本的な流れは こちら を参考にさせていただきました 上記は例が python + Flask なので既存のサーバへ受け渡すのとはちょっと違ったのでPHPの場合を捕捉 大まかな流れ等 DialogFlow のアカウントを有効にするGoogleサインアップがフツーかもGoogle傘下なので Agentを作成(この中に intent を複数作成していく) Intentを作成(音声命令 = intent な感じです) 解説に有る Fulfillment のチェックボックスが見つからないのは、Fulfillment が定義されていないからです。Fulfillmentを定義すると出現します Entities は音声命令を節毎に分離して汎用性を高められます 「 テレビ の 電源   入れて 」の各節を TV とか パワー とか オンして  みたいなゆらぎを入れてクロスでマッチしてくれたりします(後で intent に組み込めるのでテストでは飛ばしてもOK) Fulfillment で呼び出す URLを指定 ここのURLは Agentと対になり Intent の Action が送られてきますので、URLが違えば Agent も違うという事になる Intent が音声等で選択されると Fulfillment で指定されたURLへ json形式のデータが送られてきて、レスポンスも json形式で返すことになります PHP の場合、 こちら の 形式で応答(Action の sayHello が該当の箇所) また、送られてくる json は、DialogFlowの右側にある「try it now」からコマンドを入力して、一番下の show json で確認できるので、ファイルに保存して 上の $update_response = file_get_contents ...