質問: Actions on Google初心者です。。 私はActions on GoogleとGCPデータストア間で連携したいと考えています。 具体的には、ユーザー発話契機でGCPデータストア内のデータを取得し、その結果を応答させたいと考えています。 その場合、Dialogflow(Fulfillment)を使う認識ですが、正しいでしょうか? 一番簡単な方法があれば教えて頂きたいです。 また、サンプルコードもご提供頂けると助かります。 宜しくお願いします。
回答: Dialogflow の Fulfillment を使うことで、Actions on Google と GCPデータストアとの連携は簡単にできます。Fulfillmentの設定では、Inline Editorを使った場合でもデータストアとの連携はできます。 データストアへの接続については、通常のNode.jsでの利用と変わりはありません。データストアへの接続には、`@google-cloud/datastore`というパッケージが必要になるので、package.jsonの`dependencies`に追加します。 使用するデータストアが、Dialogflowで使用しているプロジェクトと同じであれば認証なしで接続できます。その場合で、キーによる検索の場合であれば次のように書けます。 ``` const Datastore = require('@google-cloud/datastore'); const datastore = Datastore() const taskKey = datastore.key(['kind', 'name']); datastore.get(taskKey).then(results => { const entity = results[0]; //処理を書く }); ``` Inline Editor を使った場合は、Cloud Functions for Firebase を使うようになるので、Inline Editor で作成したものは、そのまま Cloud Functions for Firebase で動作すると思います。ほんの少し修正すれば GCP の方の Cloud Functions の方でも動作すると思います。