如何在Google智能助理中添加会话属性

时间:2018-03-22 07:02:53

标签: actions-on-google dialogflow

我想为api请求添加一些属性以进一步使用它们。我发送的请求是这样的:

$data = array(
     "source" =>  "My text",
     "speech" =>  "My text",
     "displayText" =>"My text",
     "contextOut" => array()
 )

header('Content-Type: application/json');
echo json_encode($data);

如何将自己的自定义参数添加到此请求中?

1 个答案:

答案 0 :(得分:2)

由于您自己处理JSON,最好的方法是在Context中添加所需的参数。此Context将被发送回您的webhook,以获取Context的生命周期(用户请求数)。您可以在任何时候重新发送Context并延长其寿命,或者只是将其设置为较长的​​生命周期。上下文仅适用于同一会话 - 它们不会跨越对话。

您可以创建一个上下文并在回复中发送,如下所示:

$context = array(
    "name" => "my-context",
    "lifespan" => 99,
    "parameters" => array(
        "parameter_one" => "value_one",
        "parameter_two" => "value_two"
    )
);

$contexts = [$context];

$data = array(
     "source" =>  "My text",
     "speech" =>  "My text",
     "displayText" =>"My text",
     "contextOut" => $contexts
 )

在您的请求中,您需要在result.contexts的数组中查找提取的JSON正文中的值。