带有外部端点 (API) 的 Google 操作在 Actions 控制台模拟器上运行但未按部署运行的原因可能是什么?

What could be the reason for a Google Action with external endpoint (API) to work on the Actions Console Simulator, but not as deployed?

我是 Google 动作的整个创建过程的新手。
我使用新的操作控制台创建了一个操作。
它有一个到我的服务器的实现端点(例如:www.mypage.com/api)。
出于测试目的,它没有身份验证,因此它会生成 public API 响应。
说 API 基于发送事件处理程序生成一个简单的 JSON 响应。
简而言之:Action onEnter 将处理程序发送到 API,API 查询 SQL 数据库并将响应发送回我的 Google 操作,然后“说出”SQL结果。

Actions Console Simulator 的结果是:
使用“智能显示设备进行测试:一切正常。
使用“扬声器(例如 Google 主页)进行测试:一切正常。
使用“Phone”进行测试:调用主要意图并显示文本,但不会被朗读。

所以我直接在我的智能手机上测试了命令“嘿Google,与独角兽应用对话”。
这里 ** 一切正常 ** 因为智能手机与我的 Action Console 帐户上的电子邮件相同:它识别主要调用命令,当我通过语音请求获取数据时,数据是从我的服务器接收的和口语。

所以模拟器中的“Phone”设备有问题。我从其他用户那里证实了这一点,他们说他们经常无法正确使用模拟器功能。

然后我部署了我的 Action。
已审核通过。
几秒钟后,我收到一封自动电子邮件,说我的应用程序错误太多,要求我检查其健康状况。我这样做了,在“健康”选项卡中,我可以看到它有一个错误,但它没有告诉我错误是什么。

然后我联系了一位 ACTIONS-ON-GOOGLE 专家 他们在正确的方向上为我提供了很多帮助,但由于我的连接(端点 API)在他们的服务器之外,因此无法更深入地研究问题。
所以我以他们关于检查 Google 云日志控制台的提示结束。

如上所述,日志记录控制台对我来说也是新的,我学会了如何查询我的结果但是:

如何查询所谓的“is_health_check”标志?

我问这个是因为 Google 专家建议我搜索所述标志,但我不知道如何查询它。

很抱歉这个超长的条目,但我试图尽可能对你透明,因为我已经尝试了好几天了。 预先感谢您的宝贵时间!

因此,一旦您知道 Google 如何处理外部 webhook,错误就很简单了。感谢 2 个 Actions-On-Google 专家的帮助,我得知 Google 不时对您的外部 Webhook 执行 ping 操作。

一旦他们从上述 ping 中收到错误,该操作将从智能助理中停用,直到新的 ping 响应再次发送一切正常。

我的问题是,在部署操作之后,在审查期间,我继续在我的服务器上处理代码。编码时,Google 服务器 ping 并收到错误代码。

我的错,但至少我了解了有关 ping 你的操作的事情!