0

我正在“ Dialog Flow”中实现一个应用程序

我正在向这样的应用发送请求

$text = "Something";

$data = array(
         "source" =>  $text,
         "speech" =>  $text,
         "displayText" =>$text,
         "contextOut" => array()
     );
header('Content-Type: application/json');
echo json_encode($data);

应用中显示的文本。但是麦克风是打开的,我想关掉麦克风。

我试过expectUserResponse但没有工作

array(
         "expectUserResponse" => false,
         "source" =>  $text,
         "speech" =>  $text,
         "displayText" =>$text,
         "contextOut" => array()
     )

请帮忙。

4

1 回答 1

1

expectUserResponse参数不是Dialogflow 响应 JSON的一部分。相反,它是 Actions on Google 响应的特定部分的一部分。如果您使用的是 Dialogflow v1,它将在data.google对象中。如果您使用的是 Dialogflow v2,这将在payload.google对象中。

因此,如果您使用的是 Dialogflow v1,您的代码可能如下所示:

array(
  "speech" =>  $text,
  "displayText" =>$text,
  "contextOut" => array(),
  "data" => array(
    "google" => array(
      "expectUserResponse": false
    )
  )
)

而 v2 可能看起来像

array(
  "speech" =>  $text,
  "displayText" =>$text,
  "contextOut" => array(),
  "payload" => array(
    "google" => array(
      "expectUserResponse": false
    )
  )
)
于 2018-04-19T00:35:02.173 回答