首页 > 解决方案 > 使用预构建的代理模板和“尝试此 API”按钮使用 detectIntent API 进行测试时未找到 DesignTimeAgent

问题描述

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

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

请求正文是:

{ "queryInput": { "text": { "text": "hi", "languageCode": "en" } } }

返回以下错误:

{“错误”:{“代码”:404,“消息”:“com.google.apps.framework.request.NotFoundException:找不到项目'dialogflow-293106'的DesignTimeAgent。”,“状态”:“NOT_FOUND”} }

“试试这个 API”的屏幕截图 1

“试试这个 API”2 的屏幕截图

标签: dialogflow-esgoogle-apis-explorerdialogflow-cx

解决方案


Dialogflow ES Edition 出现此错误的原因有多种。一种是针对位于美国以外地区的代理商。目前,projects.agent.sessions.detectIntent 的 API Explorer 不支持美国以外的其他区域。由于要向其他区域发出 API 请求,因此您必须添加位置参数来定义区域。您可以考虑使用此处描述的其他方法测试 detectIntent API 方法。

如果请求中定义的项目 ID 不正确或没有与其关联的代理,也可能会出现此错误。要验证代理的项目ID,您可以在代理的常规设置中查看此信息。

除此之外,目前,Dialogflow CX API 的 API Explorer 不可用。Dialogflow ES 和 Dialogflow CX 具有不同的 API 方法集。如果您尝试使用 ES 代理的 detectIntent 方法调用 CX 代理,它也会返回一条错误消息。如果您想通过 REST API 测试您的 Dialogflow CX 代理,您可以查看此文档以了解可用 API 方法的概述。

这是 Dialogflow CX 代理的detectIntent 请求。您可以按照提供的链接中的说明与 API 进行交互。


推荐阅读