Установка выходных контекстов в диалоге - PullRequest
0 голосов
/ 28 сентября 2018

Используя клиентскую библиотеку C # для Dialogflow, я пытаюсь установить выходной контекст в ответе webhook.Однако поле выходного контекста доступно только для чтения.Это мой код:

WebhookResponse response = new WebhookResponse
   {
       FulfillmentText = "This is a test",
       OutputContexts = ... //Regardless of what I try and set OutputContexts to be, I get the error "property or indexer 'WebhookResponse.OutputContexts' cannot be assigned to -- it is read only"
   };

Как установить контекст вывода?

Ответы [ 2 ]

0 голосов
/ 06 июня 2019

Я знаю, что это старый вопрос, но на тот случай, если у кого-то такая же проблема.

Вы не можете назначить новый список для OutputContexts, вы должны добавить их в список:

Например:

response.OutputContexts.Add(new Context
            {
                Name = $"{request.Session}/your_context",
                LifespanCount = 1
            });
0 голосов
/ 28 сентября 2018

Я думаю, что response json, который вы формируете, неверен.
Ниже приведен правильный ответ json, который вам нужно отправить:

{
    "fulfillmentText = "This is a test",
    "outputContexts": [
        {
            "name": "projects/project_id/agent/sessions/session_id/contexts/your_context",
            "lifespanCount": 5,
            "parameters": {
                "foo": "bar",
                "foo1": "bar1"
            }
        }
    ],
    "followupEventInput": {
        "name": "even_name"
    }
}
...