什么可能导致Homegraph API的REQUEST_SYNC的HTTP错误代码?

时间:2018-01-25 16:15:53

标签: actions-on-google google-home

我们正在使用Google Homegraph API为我们的Google Home项目实施REQUEST_SYNC功能。这似乎在我们的测试中工作得很好,但最近我们注意到大约三分之一的请求被200个以外的HTTP代码响应。

我们已经看到以下代码:

  • 400 Bad Request
  • 500内部服务器错误
  • 429请求太多
  • 404 Not Found
429很可能是由于我们的一些错误,我们目前正在考虑避免这种情况。但是,我们无法确定导致其他代码的原因。

在我们有限的测试能力中,我们发现它似乎每次都限于特定用户。取消链接和重新链接我们的服务似乎解决了问题(如果只是暂时的)。

作为旁注,示例here似乎包含无效的JSON,因为 agent_user_id 周围缺少引号。在测试简单请求时,省略或包含引号并不会影响其成功,但这可能会让读者感到困惑。

有没有人就这些问题提出建议?

编辑:

我们目前正试图通过有目的地发送许多REQUEST_SYNC来重现帐户的问题。这导致了429个响应(我们已经看到一个500),但它还没有导致未来的REQUEST_SYNC完全停止工作 - 之前我们看到用户只接收500个响应代码,直到服务重新链接。

取消链接用户确实导致后续REQUEST_SYNC以404响应,如预期的那样。有没有办法在用户不再使用我们的Google Home服务时收到通知,以便我们可以在他们更改某些设备时停止发送SYNC请求?

1 个答案:

答案 0 :(得分:2)

如果您的服务器发送数据存在问题,可能会发生400,例如您的主页图中尚未设置agent_user_id,但您尝试拨打{ {1}}。

如果您返回的数据存在问题,可能会发生500,例如,如果它与模式不匹配或者格式不正确。

如果您过于频繁地访问API,可能会发生429。

如果您要求的网址不存在,可能会发生404,例如API密钥无效或您发送的参数无效。

如果您能够识别可重现的案例,那么找到修复方法会更容易。