問題タブ [google-home]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1544 参照

node.js - action-on-google api.ai が nodejs と express を使用した POST リクエストで本文を送信しない

私のコンピューターで、actions-on-google の api.ai からsillyNameMaker の例を実行しようとしています。Express と ngrok トンネリングを使用して nodejs サーバーをセットアップしました。api.ai でエージェントを使用してリクエストを送信しようとすると、サーバーは POST リクエストを受信しますが、本文が空のように見えます。私が正しく設定していないものはありますか?

ここに私のindex.jsファイルがあります:

そして、私が得たエラー:

req.body を印刷しようとしていますが、未定義です... よろしくお願いします。

0 投票する
1 に答える
683 参照

node.js - Heroku nodejs での Google Actions API Webhook レスポンス

質問: Google Actions は、すべてのユーザー入力で Webhook ポストを起動することによって常に機能しますか? 毎回 json を解析し、関心のあるパラメーターが見つかった場合にのみ反応するようにロジックを操作する必要がありますか? または、Google Actions API によって作成された Webhook 投稿を制御して、対象のパラメータの値を含めることによってアクションが完全に満たされている場合にのみ作成する方法はありますか?

#

詳細: この nodejs アプリを Heroku にデプロイしました: https://github.com/quique123/myjsonparser/blob/master/app.js

Google Actions API (Number Genie) の例への Webhook として使用しています。Number Genie では、ユーザーは「Number Genie に話しかける」でゲームを開始します。魔神は、私が数字を考えていると答えます...推測します。ユーザーが数字で応答すると (そのときだけ) ロジックが実行され、推測と答えが比較されます。

しかし、私はグーグルホームからの投稿リクエストごとにAPI呼び出しを行っています。つまり、ユーザーが会話 API を操作するたびに Webhook の投稿が行われます。body に user-input-parameter が含まれておらず、Heroku が "talk to number genie" に応答していることがわかります。

Google Actions API で数値を使用してテストすると、"44" に対する Heroku の応答に check_guess が含まれていることがわかります。

問題は、postSwitch{} が両方の場合に発生することです。

これは Google Actions が常に機能する方法ですか?毎回 json を解析し、check_guess が見つかった場合にのみ反応するようにロジックを操作する必要がありますか? または、パラメータ check_guess の値を含めることによってアクションが完全に満たされている場合にのみ作成するために、Google Actions API によって作成された webhook 投稿を制御する方法はありますか?