dialogflow-es - 仅当用户来自 Google 审核团队时接收错误的 Contextname(使我的应用程序崩溃)
问题描述
我创建了一个当前正在审核中以供批准的操作,但存在一个问题(下面会更好地描述),仅当用户是 Google 审核团队的成员时才会显示。我的 5 位来自不同国家(印度、德国、瑞士、意大利)的同事/朋友从 android 谷歌助手和动作控制台模拟器测试了该应用程序,但从未出现过问题。该应用程序完美无缺。
我希望有人能解释为什么会发生这种情况并提出解决方案。我在这个应用程序上努力工作,在这个问题没有解决之前,我无法发布它并拥有真正的用户。
关于问题的技术细节:基本上,从 Google 团队测试人员收到的 Context 名称正在使 Google Cloud api Parser 崩溃。我在我的网络挂钩中使用 C# 与 Google.Cloud.Dialogflow.V2 1.0.0-beta02。
来自 google 操作团队的测试人员使用应用程序 projects/blitzy-84d12/agent/environments/__aog-2/users/-/sessions/ABwppHEMNPVl9O-OVXEOzT_ch6uSa_cZ08pHV6YUF5kpkSwZHDVmk6ShexlLi50yWFMkktYClMDX01z9/contexts/sendmessageprocessing 时收到的上下文名称示例
当我或我的朋友测试应用程序(使用 Android 手机或操作控制台模拟器)时收到的上下文名称示例 projects/voice-rider/agent/sessions/ABwppHFyb9HLDSmiETz6d91QveUw0kTIjC5T1kJmNF2QVKrRBrHtTvR3t83lhU9hVxORZ8rXBbQBtRQ/contexts/tellmemypositionprocessing
使用 Google.Cloud.Dialogflow.V2.ContextName.Parse(String contextName) errMsg=Name does not match template 解析上下文名称时产生错误:段数不正确
错误的源代码可以在这个 github 源代码的第 272 行看到: https ://github.com/googleapis/gax-dotnet/blob/master/Google.Api.Gax/PathTemplate.cs
很容易理解为什么谷歌云 api Parser 会抛出异常,它接收到的上下文名称比预期的要多。段是指由斜杠“/”字符分隔的字符串数。使用 google team tester 显示我的测试的上下文名称,我们可以看到不同之处:
项目/blitzy-84d12/agent/environments/__aog-2/users/-/sessions/ABwppHEMNPVl9O-OVXEOzT_ch6uSa_cZ08pHV6YUF5kpkSwZHDVmk6ShexlLi50yWFMkktYClMDX01z9/contexts/sendmessageprocessing
项目/语音骑手/代理/会话/ABwppHFyb9HLDSmiETz6d91QveUw0kTIjC5T1kJmNF2QVKrRBrHtTvR3t83lhU9hVxORZ8rXBbQBtRQ/contexts/tellmemypositionprocessing
在 google team tester contextname 中有这个附加块:environments/__aog-2/users/-/
由 4 个额外的“外星人”段组成,这些段会使 Google api 解析器崩溃
我可以尝试用我自己的解析器覆盖 Google api 解析器,但实际上我不想进入那条路径,因为它可能会产生负面影响和未来的兼容性。
谢谢您的支持
解决方案
推荐阅读
- javascript - setInterval 不同于 chrome 和 firefox
- javascript - Cant SUM on table td 此代码 javascript 如何修复?
- swift - 如何使用打字稿将快照值转换为字典值?
- javascript - 如何使用 Javascript 中的单击按钮来更改笔划的颜色?
- python-3.x - DLL 加载失败:找不到指定的模块。在 matplotlib 程序中
- flutter - 在某些情况下我可以跳过 BlocBuilder 渲染吗?
- java - 如何通过在android中使用位置来获取模态类数据
- javascript - 在使用 multer-s3-transform 上传到 s3 之前使用 imagemin 转换照片
- javascript - 尝试在 React 中使用状态存储数据以便以后可以访问时遇到问题
- json - 确定 API 是 RPC 还是 REST