Почему я не получаю ответ как RAW API RESPONSE, указанный Dialogflow?

Я задавал этот вопрос раньше и пришел к неправильному выводу, потому что клиентская библиотека Dialogflow V1 дает ответ в формате , заданном Dialogflow и клиент Dialogflow V2 этого не сделали, поэтому я подумал, что формат ответа изменен. я использовал

response.query_result.parameters.fields

для доступа к параметрам, отправленным Dialogflow в объектном формате, а не в строке JSON. В чем я ошибся или правильный формат ответа и Google не обновил документацию Dialogflow?


person Jeeva Bharathi    schedule 29.03.2019    source источник


Ответы (1)


У меня сейчас нет ничего настроенного в nodeJS, чтобы проверить это, но, переводя мои запросы python, я думаю, что это должно быть

request.body.queryResult.parameters['fields']

idk, если это также может быть полезно для вас, но в python мой код выглядит так

req = request.get_json(silent=True, force=True)
auth_code = req.get('queryResult').get('parameters').get('number')
person Ariel    schedule 29.03.2019
comment
Я нашел решение для этого давно и забыл опубликовать его. Существует пакет Python под названием protobuf. Мы можем использовать MessagetoDict (response.query_result.parameters) для прямого преобразования объекта в словарь и доступа к значениям с помощью ключей. Нет, если ваш код работает, я протестирую его и опубликую результаты. - person Jeeva Bharathi; 03.05.2019