调用Dialogflow ES自定义环境时Curl请求报404,求解决方案
解决Dialogflow ES自定义环境调用404问题
你遇到的404错误是因为调用自定义环境的API端点路径格式错误,缺少了users/-(代表匿名用户)的层级结构。Draft版本的端点不需要这部分,但自定义环境的调用必须包含该层级。
正确的Curl命令
curl \ -H "Content-Type: application/json; charset=utf-8" \ -H "Authorization: Bearer <token>" \ -d "{\"queryInput\":{\"text\":{\"text\":\"バージョン\",\"languageCode\":\"ja\"}},\"queryParams\":{\"source\":\"DIALOGFLOW_CONSOLE\",\"timeZone\":\"Asia/Tokyo\",\"sentimentAnalysisRequestConfig\":{\"analyzeQueryTextSentiment\":true}}}" \ "https://dialogflow.googleapis.com/v2/projects/<project_name>/agent/environments/DEV/users/-/sessions/<session_id>:detectIntent"
关键说明
- 路径中新增了
users/-:这是Dialogflow ES调用自定义环境时的强制路径段,用于标识匿名用户会话(如果需要指定特定用户,可替换-为用户ID)。 - 确认环境配置:确保DEV环境已在控制台中关联了代理版本并完成激活,环境ID严格区分大小写(比如
DEV和dev是不同的环境)。 - 权限验证:确保使用的Bearer Token拥有
dialogflow.sessions.detectIntent等相关权限,避免因权限不足导致的隐性错误。
内容的提问来源于stack exchange,提问作者Peter
相关产品推荐
相关产品推荐

