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

问题描述 投票:0回答:1

我们正在使用 Google Homegraph API 为我们的 Google Home 项目实现

REQUEST_SYNC
功能。这在我们的测试中似乎运行良好,但最近我们注意到大约三分之一的请求是用 200 以外的 HTTP 代码响应的。

我们看到了以下代码:

  • 400 错误请求
  • 500 内部服务器错误
  • 429 请求太多
  • 404 未找到

429 很可能是由于我们的一些错误造成的,我们目前正在考虑避免这种情况。但是,我们无法确定导致其他代码的原因。

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

顺便说明一下,here 的示例似乎包含无效的 JSON,因为

agent_user_id
周围缺少引号。当测试一个简单的请求时,省略或包含引号并不影响其成功,但这可能会让读者感到困惑。

有人对这些问题有建议吗?

编辑:

我们目前正在尝试通过故意发送许多

REQUEST_SYNC
来重现帐户的问题。这会导致大量 429 响应(我们已经看到过一个 500),但它尚未导致未来的
REQUEST_SYNC
完全停止工作 - 之前我们看到用户仅收到 500 响应代码,直到服务重新链接.

正如预期的那样,取消链接用户确实会导致后续

REQUEST_SYNC

 响应 404。有没有办法在用户不再使用我们的 Google Home 服务时收到通知,以便我们可以在他们更改设备的某些内容时停止向他们发送 
SYNC
 请求?

actions-on-google google-home
1个回答
2
投票
如果您的服务器发送数据出现问题,例如您的

agent_user_id

 尚未在 Home Graph 中建立,但您尝试调用类似 
REQUEST_SYNC
 之类的内容,则可能会出现 400。

如果您返回的数据有问题,例如与架构不匹配或格式不正确,则可能会出现 500。

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

如果您请求的 URL 不存在,例如 API 密钥无效或您发送的参数无效,则可能会出现 404。

如果您可以识别可重现的案例,那么找到解决方案会更容易。

© www.soinside.com 2019 - 2024. All rights reserved.