Dialogflow から webhook される php を Google API v2 に対応させる
Dialogflow から google api v2 に対応しろとのお知らせが表示されるので、webhook される php を Google API v2 に対応させる 命令の流れをおさらい まずは、どういう仕組だったかを忘れていたのでメモ アプリに入って、命令を行うと、Intent にある Action and parameters の値を含む json が Fulfillment に指定した url へポストされるので、応答メッセージを含む json を返す という仕組み API の切り替え google api v2 対応への切り替え(Dialogflow側)は、スイッチを切り替えるだけ api 切り替え後の web 側変更 API を切り替えると、送られてくる json の内容が変わります。また、応答メッセージを埋め込む json の形式も変わります。なので「そのままだと アプリから応答がありません」みたいな形になります api v1 で post される json api v2 で post される json php の場合 $data = file_get_contents("php://input"); // 取得 $jsonArray = json_decode($data, true); // json -> 配列 // v1 action取得 $action = $jsonArray["result"]["action"]; // v2 action取得 $action = $jsonArray["queryResult"]["action"]; な感じに取得位置を変更します 送られてきたアクションに対する応答は、 こちら のような形で speech と displayText で返していたものを fulfillmentText というキーに変更します ※面倒なので v1 の応答に fulfillmentText を追加して対応したらうまく動きませんでした 端的に書くと // api v1 応答 echo json_encode(array( "spe...