teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

コメントに対する回答を追記

2019/05/15 05:58

投稿

mar-kn
mar-kn

スコア306

answer CHANGED
@@ -8,4 +8,15 @@
8
8
  Dialogflow から渡ってきている引数が間違っているのか、Google Cloud functions 側の設定が間違っているのか切り分けが必要になります。
9
9
 
10
10
  まずは、引数が正しくわたってきているのか、req の中身を確認してください。
11
- 中身が入っている場合、Dialogflowの戻り値の形式が変わっているのだと思います。
11
+ 中身が入っている場合、Dialogflowの戻り値の形式が変わっているのだと思います。
12
+
13
+ ---再追記---
14
+ Dialogflow が返す値の形式に変更が入っているようです。
15
+
16
+ > Dialogflow Webhook Format
17
+ > v1 : https://developers.google.com/actions/reference/v1/dialogflow-webhook
18
+ > v2(現行) : https://developers.google.com/actions/build/json/dialogflow-webhook-json
19
+
20
+ v1の時は 「req.body.result」で取れたものが、v2では「req.body.queryResult」となっているようです。
21
+ req.body.result.parameters.boardgame の部分を
22
+ req.body.queryResult.parameters.boardgame と変更すれば、値がとれるのではないかと思います。

2

回答内容を訂正

2019/05/15 05:58

投稿

mar-kn
mar-kn

スコア306

answer CHANGED
@@ -8,5 +8,4 @@
8
8
  Dialogflow から渡ってきている引数が間違っているのか、Google Cloud functions 側の設定が間違っているのか切り分けが必要になります。
9
9
 
10
10
  まずは、引数が正しくわたってきているのか、req の中身を確認してください。
11
- 中身が入っている場合、Dialogflowの戻り値の形式が変わっているのだと思います。
11
+ 中身が入っている場合、Dialogflowの戻り値の形式が変わっているのだと思います。
12
- [Dialogflow Webhook Format](https://developers.google.com/actions/build/json/dialogflow-webhook-json)

1

コメントに対する回答を追記

2019/05/15 02:54

投稿

mar-kn
mar-kn

スコア306

answer CHANGED
@@ -1,4 +1,12 @@
1
1
  req.body.result.parameters.boardgame
2
2
 
3
3
  req.body.result が undefined であるためエラーが発生しています。
4
- エラーが発生した場合は、固有名詞を取り除いた状態「TypeError: Cannot read property of undefined」などで検索をかけると原因が詳細に書かれたサイトが見つかると思います。
4
+ エラーが発生した場合は、固有名詞を取り除いた状態「TypeError: Cannot read property of undefined」などで検索をかけると原因が詳細に書かれたサイトが見つかると思います。
5
+
6
+ ---追記---
7
+ req.body.result は Dialogflow から渡ってくる引数になります。
8
+ Dialogflow から渡ってきている引数が間違っているのか、Google Cloud functions 側の設定が間違っているのか切り分けが必要になります。
9
+
10
+ まずは、引数が正しくわたってきているのか、req の中身を確認してください。
11
+ 中身が入っている場合、Dialogflowの戻り値の形式が変わっているのだと思います。
12
+ [Dialogflow Webhook Format](https://developers.google.com/actions/build/json/dialogflow-webhook-json)