You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Home应用发布后呈“不健康”状态,报UnparseableJsonResponse错误求助

Hey Frédéric, sorry to hear your first Google Home app is stuck in an unhealthy state—let’s dig into this and figure out what’s going on. It’s super confusing that your dialog works fine in the simulator but the health check is throwing those unparseable JSON errors, especially since you’re using API v2 and your responses are valid. Here are some common culprits and fixes to try:

Possible Causes & Fixes

1. Health checks might be defaulting to API v1 (even if your app uses v2)

Google Home’s health detection system sometimes sends API version 1 requests by default, even if your main dialog flow is built for v2. If your service isn’t set up to handle v1 requests, it might return an empty response or one that doesn’t fit v1’s format, triggering the parse error.

  • Test this by manually sending a v1 SYNC request to your service (this is what health checks often use):
    {
      "requestId": "test-health-check",
      "inputs": [{"intent": "action.devices.SYNC"}],
      "version": "1"
    }
    
  • If your service chokes on this, either add handling for v1 responses, or check if you can force the health check to use v2 in the Google Home Console settings.

2. The health check is hitting a different endpoint than your dialog requests

Sometimes health checks are configured to point to a separate /health or root endpoint, rather than the same URL you use for dialog interactions. If that endpoint isn’t returning a valid JSON response (or returns nothing at all), you’ll get that empty response error.

  • Double-check the health check URL in your Google Home Console—make sure it matches the endpoint you use for simulator tests.
  • Manually hit that health check URL with a tool like curl or Postman to see what it returns. It should send back a properly formatted SYNC response (for whichever API version the check uses).

3. Your service has a bug in handling health check-specific requests

Even if your dialog works for user interactions, health check requests might trigger a different code branch—maybe missing environment variables, permission issues, or a routing mismatch—that causes your service to return nothing.

  • Look for full request logs from the health checks: check the request headers, body, and any error traces from your service when the health check runs. This can show if the request is even being processed correctly.
  • Verify the response status code: if it’s a 5xx or 4xx, your service is failing to handle the request; if it’s 200 but empty, your code isn’t generating a proper response for the health check path.

4. Your v2 response isn’t compatible with the v1 check parser

Even if you’re sending a valid v2 response, if the health check is expecting v1, Google’s parser will try to parse it using v1’s structure (which has differences like payload formatting, field names, etc.). This mismatch will throw the unparseable error.

  • Brush up on the differences between v1 and v2 response formats: make sure your service returns the correct structure based on the version field in the incoming request.
  • Add a version check in your code: inspect the request’s version value, then return a response that fits that specific version’s requirements.

One quick tip: Use the Actions Console’s testing tools to simulate a health check-style request, or send manual requests with curl. Seeing exactly what your service returns when hit with a health check request will make it way easier to spot the issue.

内容的提问来源于stack exchange,提问作者Frédéric Bouchery

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 06:59:00