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

DialogFlow V2 API mediaResponse失效:Google Assistant Action升级后异常

解决DialogFlow V2 Webhook中MediaResponse无法工作的问题

我帮你梳理下这个MediaResponse失效的问题,从你给出的Webhook响应结构来看,大概率是几个常见的细节没处理到位,咱们一步步排查:

1. 先检查音频链接的有效性

contentUrl是MediaResponse能正常工作的核心,这里有两个关键点:

  • 必须是直接可访问的音频文件URL,比如https://your-domain.com/audio.mp3,不能是需要跳转、登录验证的链接,而且要保证格式是Google支持的(MP3、AAC、OGG等)。你代码里写的contentUrl: ...一定要替换成真实有效的地址。
  • 音频所在服务器必须开启CORS支持,允许Google的服务访问,不然会被浏览器或Assistant拦截,导致音频无法加载。

2. 确认Payload的结构是否正确

DialogFlow V2对Google Payload的嵌套层级要求很严格,虽然你的结构看起来差不多,但有几个细节要注意:

  • 确保mediaResponse是直接放在richResponse.items数组的对象里,字段名大小写完全匹配(比如mediaType、contentUrl都是驼峰式,别写错)。
  • 如果你同时返回了fulfillmentText和fulfillmentMessages,建议两者的内容保持一致,避免Assistant处理时出现冲突干扰。

给你一个修正后的完整响应示例,你可以对照调整:

{
  "fulfillmentText": "正在播放测试音频",
  "fulfillmentMessages": [
    {
      "text": {
        "text": [
          "正在播放测试音频"
        ]
      }
    }
  ],
  "payload": {
    "google": {
      "richResponse": {
        "items": [
          {
            "mediaResponse": {
              "mediaType": "AUDIO",
              "mediaObjects": [
                {
                  "name": "mediaResponse name",
                  "description": "mediaResponse description",
                  "largeImage": {
                    "url": "https://.../640x480.jpg"
                  },
                  "contentUrl": "https://your-valid-audio-url.mp3"
                }
              ]
            }
          }
        ]
      }
    }
  }
}

3. 测试场景和配置要对应

  • 别只在DialogFlow的测试面板里验证,有些富媒体响应(比如音频)在这个面板里不会展示,建议用Google Assistant模拟器或者实际的智能设备(比如手机Assistant、智能音箱)测试。
  • 检查Google Actions Console里的Action配置,确保你的场景允许播放音频(比如没有限制媒体权限)。

4. 查看错误日志定位问题

如果还是不行,去Google Actions Console的日志里查看具体错误信息,比如是否提示URL不可访问、格式不支持、CORS错误等,这些日志能帮你快速找到根源。

内容的提问来源于stack exchange,提问作者igorvargas

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 12:31:45