Действия в Google / Dialogflow: не удалось найти RichResponse или SystemIntent в ответе платформы для agentId.

Я кодирую агент с Dialogflow и веб-перехватчиком, написанным на PHP. В последнее время я реструктурировал части своего кода, и теперь я всегда получаю одну и ту же ошибку в «Действиях на консоли Google»:

Не удалось проанализировать ответ Dialogflow в AppResponse из-за недопустимого ответа платформы. Не удалось найти RichResponse или SystemIntent в ответе платформы для agentId

Вот часть кода моего веб-перехватчика:

if($action == "willkommen")
{
   $google->Speak("Hallo Welt");
}

$ google - объект созданного мной PHP-класса-оболочки. Код метода Speak () выглядит так:

public function Speak($text,$endConversation=false)
{            
   if($endConversation)
      $expectUserResponse = false;
   else
      $expectUserResponse = true;

   $toGoogle["payload"]["google"]["expectUserResponse"] = $expectUserResponse;
   $toGoogle["payload"]["google"]["richResponse"]["items"][0]["simpleResponse"]["textToSpeech"] = $text;

   file_put_contents("test.log",json_encode($toGoogle,JSON_PRETTY_PRINT));

   echo json_encode($toGoogle,JSON_PRETTY_PRINT);
}

Для отладки я записываю сгенерированный JSON в файл test.log. Это содержит

{
    "payload": {
        "google": {
            "expectUserResponse": true,
            "richResponse": {
                "items": [
                    {
                        "simpleResponse": {
                            "textToSpeech": "Hallo Welt"
                        }
                    }
                ]
            }
        }
    }
}

Весь код выполняется от начала до конца, потому что как только я редактирую строку, переданную в Speak (), я вижу изменение строки JSON wirtten на test.log . Однако я продолжаю получать сообщение об ошибке выше. Что не так с моей JSON-строкой? Как может быть Google не может найти RichResponse?

Большое спасибо! Любая помощь приветствуется!


person Simon Zitzlaff    schedule 22.10.2019    source источник


Ответы (1)


Пожалуйста, проверьте ваше резервное намерение.

"Действия на консоли Google" выдает эту ошибку, если резервное намерение не добавлено к агенту.

person Vikas Patidar    schedule 11.02.2020