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

自定义Google Home应用中返回YouTube播放列表的实现问题

让Google Assistant播放YouTube播放列表的解决方案

嘿Jason,我明白你现在的困境——你的webhook已经能拿到播放列表URL,但Google Assistant只会把它读出来,不会触发播放。别担心,要实现播放操作,你需要用Google Assistant的**媒体响应(Media Response)**来替代单纯的文本回复,这是让Assistant处理音频/视频播放的标准方式。

下面是具体的实现步骤和要点:

1. 核心:返回Media Response而非纯文本

Google Assistant不会自动识别URL并播放,你需要在webhook的响应里明确告诉它“这是一个媒体内容,请播放它”。Media Response是Actions on Google框架专门用来触发媒体播放的响应类型,支持YouTube播放列表、音频文件等。

示例响应格式(JSON)

这是你需要从webhook返回的结构,我以YouTube视频播放列表为例:

{
  "fulfillmentMessages": [
    {
      "mediaResponse": {
        "mediaType": "VIDEO",
        "mediaObjects": [
          {
            "name": "本周末教堂礼拜歌曲",
            "description": "周日聚会所用的赞美诗合集",
            "contentUrl": "你的YouTube播放列表完整URL",
            "largeImage": {
              "url": "https://example.com/playlist-cover.jpg", // 可选:播放列表封面图
              "accessibilityText": "教堂歌曲播放列表封面"
            }
          }
        ],
        "optionalMediaControls": "PAUSE_RESUME" // 可选:添加播放控制选项
      }
    }
  ]
}

字段说明

  • mediaType:选VIDEO(因为YouTube是视频内容),如果是纯音频可以选AUDIO。
  • contentUrl:直接填入你的YouTube播放列表URL,确保这个列表是公开或未列出的(私有列表Assistant无法访问)。
  • name和description:用于在Assistant的界面上展示,给用户清晰的提示。
  • optionalMediaControls:可以添加PAUSE_RESUME、STOP等控制选项,方便用户操作。

2. 适配“在电视上播放”的指令

用户的指令提到“在我的电视上播放”,你不需要额外做太多配置——只要用户的电视支持Google Cast,并且已经和用户的Google账户关联,Assistant会自动根据上下文把内容投放到指定设备。不过要确保你的Media Response格式正确,这样Assistant才能识别并触发投屏。

3. 关键注意事项

  • 播放列表权限:必须确保YouTube播放列表是公开或未列出状态,私有列表会导致Assistant无法加载内容。
  • 测试验证:可以用Actions on Google的测试控制台,或者直接在关联的Google Assistant设备上测试指令,看是否能正常触发播放。
  • 框架兼容:如果你用的是Dialogflow ES/CX,也可以在意图的响应设置里直接添加“媒体响应”,不需要手动写JSON,但如果是自定义webhook,就必须按上面的格式返回。

这样调整后,当用户说出“在我的电视上播放我们本周末要用的歌曲”时,Assistant就会直接播放你的YouTube播放列表,而不是只读URL啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 07:25:30