使用预构建的代理模板和“尝试此API”按钮对detectIntent API进行测试时,找不到DesignTimeAgent

问题描述

使用“ Try this API”在DialogFlow中使用detectIntent API进行测试时,始终返回未找到的DesignTimeAgent(即使使用预构建的代理模板)。我尝试过的API是“ projects.agent.sessions.detectIntent”。

会话参数为“ projects / dialogflow-293106 / agent / sessions / 123123123”

,请求正文为:

{“ queryInput”:{ “文字”:{ “ text”:“ hi”, “ languageCode”:“ en” }}

返回以下错误

{“错误”:{ “代码”:404, “ message”:“ com.google.apps.framework.request.NotFoundException:未为项目'dialogflow-293106'找到DesignTimeAgent。”, “ status”:“ NOT_FOUND”}}

screen cap of "Try this API" 1

screen cap of "Try this API" 2

解决方法

对于Dialogflow ES Edition可能发生此错误有多种原因。一种是针对位于美国以外地区的代理商。目前,projects.agent.sessions.detectIntent的API资源管理器不支持美国以外的其他地区。由于要向其他区域发出API请求,因此必须添加location parameters来定义区域。您可以考虑使用here中所述的其他方法来测试detectIntent API方法。

如果请求中定义的项目ID不正确或没有与之链接的代理,也可能发生此错误。要验证代理的项目ID,您可以在agent's general settings中查看此信息。

除此之外,当前,Dialogflow CX API的API资源管理器不可用。 Dialogflow ES和Dialogflow CX具有不同的API方法集。如果您尝试使用ES代理的detectIntent方法调用CX代理,则它还将返回错误消息。如果您想通过REST API测试Dialogflow CX代理,则可以查看此documentation以获得可用的API方法的概述。

这是Dialogflow CX代理的detectIntent request。您可以按照提供的链接所述interact with the APIs

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...