Не удалось проанализировать ответ Dialogflow в AppResponse из-за пустого речевого ответа - PullRequest
0 голосов
/ 15 ноября 2018

Я пытаюсь реализовать новое приветственное намерение для моего агента AoG, но я продолжаю получать сообщение «Не удалось проанализировать ответ Dialogflow в AppResponse из-за пустого речевого ответа», даже если все остальное выглядит хорошо, насколько я вижу.

    return new Promise(function (resolve, reject) {
    if(userId != null){

        service.getCustomerData(userId, accessToken).then(customerData =>{
            var name;
            let conv = agent.conv();
            name = customerData.item.name;

            conv.ask('We are logged in on ' + name);
            agent.add(conv);
            resolve();
        }, error => {
            errorHandler(agent,error, resolve);
        });


    }else {
        agent.add('We are not logged in');
    }
    resolve();
});

Какие-нибудь советы или хитрости здесь?Использование API V2

Ответы [ 2 ]

0 голосов
/ 28 декабря 2018

Для всех, кто может наткнуться на это:

Для меня я получил эту проблему, потому что я никогда не добавлял соответствующий app.intent(). Я скопировал и вставил старый, который имел имя старого намерения, app.intent('favorite color', // ...etc), когда новый имел другое имя (в моем случае app.intent('favorite movie', // ...etc)).

0 голосов
/ 15 ноября 2018

Для подсказок или уловок в отладке этого, я предлагаю вам проверить эти два сообщения:

Вы не публикуете всю свою функцию, которая бы помогла в этом случае, но я предполагаю, что вы вызываете ошибку. Проверка ваших журналов подтвердит фактическую ошибку.

Я предполагаю, что этот набор строк является проблемой:

        let conv = agent.conv();
        name = customerData.item.name;

        conv.ask('We are logged in on ' + name);
        agent.add(conv);

В частности, я не думаю, что вы можете позвонить add() и передать ему объект разговора. Непонятно, почему вы имеете дело с conv.add() и не используете agent.ask() напрямую, в этом отношении.

...