プログラミングが不要なGoogle Homeアプリ制作サービス「RINDO」(ベータ版)を無料提供中!
Ebisu Voice Production Logo
開発ブログ

Go言語でparseしたrequestをどう処理するか

Daishi Kato
2018年07月19日

恵比寿ボイスプロダクションのGoogle Homeアプリの開発では、 Go言語(Golang)とConversation webhookを使っています。 Conversation webhookのrequestをparseすることは、 json tagを使うことで手間はかかるもののすぐに実現できました。

parseしたrequestの構造体にアクセスするためにメソッドを定義しておくと便利です。 まず、よく使うのはintentです。このメソッドは次のように定義されています。

スクリーンショット

見ての通りinputsが一つの場合しか対応していません。 万が一、複数のinputsが見たい場合は、メソッドを使わずに直接アクセスできますが、 今のところそのようなケースは見たことがありません。

もう一つ、よく使うのはqueryです。 これは、ユーザが発話したテキストです。 actions.intent.TEXTの場合に使います。

こちらもよく使うユースケースに限定して メソッドが定義 されています。

これらは一例ですが、基本的なものですので、頻繁に使っています。

ちなみに、Actions on Google Client Library では、app.intent()を使ってハンドラーを登録する書き方が一般的ですが、 Actions SDKの場合はintent数が少ないこともあり、あまり必要性を感じていません。

恵比寿ボイスプロダクション
github icontwitter icon
Home
開発コンサル
RINDO
About Us
お問い合わせ
Privacy Policy