Как получить исходное значение параметров, которые вводит пользователь (после того, как оно было проанализировано)

Я не могу получить исходное значение параметра, сопоставленного с сущностью. У меня уже есть выходной контекст, и я вижу значение entity.original в запросе json, но я не могу получить это значение. Я пробовал методы, указанные в этой публикации (Как получить значение параметра из аргументов ?) и этот пост (DialogFlow - получить исходный строка, связанная с параметром), но, похоже, ничего не работает. Они просто возвращают имя объекта или неопределенное значение. Любая помощь приветствуется.

Вот часть запроса JSON

"outputContexts": [
      {
        "name": "projects/XXXXXXX/agent/sessions/XXXX/contexts/office",
        "lifespanCount": 1,
        "parameters": {
          "name": [
            "name"
          ],
          "name.original": [
            "scott"
          ]
        }
          },

Я хочу получить значение "name.original".


person Aditya Das    schedule 25.07.2019    source источник
comment
Разобрался: let value = conv.contexts.input. $ {имя входного контекста} .parameters [matched_parameters_name.original]; Что по-прежнему кажется громоздким. Если есть другой способ узнать стоимость. Скажи. Спасибо -   -  person Aditya Das    schedule 26.07.2019
comment
Есть еще одна хитрость, где вместо контекста ввода можно поставить this. let value = conv.contexts.input.actions_capability_screen_output.parameters ['matched_parameters_name'formNames.original'];   -  person Aditya Das    schedule 26.07.2019


Ответы (1)


Что вы можете сделать, так это в диалоговом потоке добавить новый параметр, который имеет значение имени параметра, для которого требуется исходный текст, и добавить .original.

Теперь, когда вы хотите, скажем, date.original, вы просто запрашиваете originalDate.

Действия и параметр диалогового потока

person Mohamed Halat    schedule 29.07.2019
comment
Как это сделать с помощью фулфилмента - person Aditya Das; 30.07.2019