Movable TypeとGoogle Homeの連携

  • 投稿日:
  • by
  • カテゴリ:

この記事は、Movable Type Advent Calendarの20日目です。

Google Home(Googleアシスタント)を使うと、音声で情報を検索したりなど、いろいろなことができます。
また、プログラムを作って、独自の機能を作ることもできます。
その例として、Google HomeからMovable Typeに声で記事を投稿するものを作ってみました。

1.デモ

デモは以下の動画をご覧ください。

2.仕組み

Googleアシスタントに独自の機能を追加する方法の1つとして、DialogFlowがあります。
DialogFlowを使うと、比較的簡単に独自のアプリを作ることができます。

DialogFlowでは、「〇〇と言われたら□□と答える」といった単純なパターンであれば、その流れを登録するだけで、プログラムなしで作ることができます。
例えば、デモの最後で「あなたのお名前は」という部分がありましたが、これは以下の画面のように簡単に定義できます。

DialogFlowで会話の流れを作る

また、状況によって返事が変わったり、何か他の処理をしたい場合は、フォールバックのプログラムで処理を行うようにすることもできます。
プログラムには、音声認識された結果などがJSONで渡されます。
そのJSONを元に処理を行って、Googleアシスタントに発音させたい文章などをJSON形式で返すようにします。

今回の例では、記事のタイトルや本文を得たり、それらをMovable Typeに投稿する処理を、フォールバックのプログラムで行っています。
プログラムはPHPで作り、拙作のPHP用Data APIライブラリを使って、Movable Typeに記事を投稿するようにしました。