Google Action Console云函数编辑器中MediaObject添加图片方法
Google Assistant MediaObject图片配置解决方案
错误原因排查
你遇到的JAZZ_IN_PARIS_IMAGE is not defined报错,是直接复用官方示例中的占位变量导致的:示例中的JAZZ_IN_PARIS_IMAGE是预设的变量占位符,你没有在代码中预先定义该变量并赋值为实际的图片地址,运行时抛出未定义异常,最终触发5xx响应错误。
正确配置步骤
- 图片存储要求:图片需要存放在支持公网无权限校验直连的位置,无跳转、无访问限制,格式支持JPG/PNG,尺寸建议≥1920*1080,大小不超过5MB。你可以选择存放在开启公共读权限的Google Cloud Storage存储桶,或者其他支持公网直链访问的存储服务。
- 参数配置方法:有两种可用的配置方式:
- 直接传入图片公网URL字符串:
app.handle('media', (conv) => { conv.add('This is a media response'); conv.add(new Media({ mediaObjects: [ { name: 'Media name', description: 'Media description', url: 'https://storage.googleapis.com/automotive-media/Jazz_In_Paris.mp3', image: { large: 'https://替换为你的图片实际公网直链地址' } } ], mediaType: 'AUDIO', optionalMediaControls: ['PAUSED', 'STOPPED'], startOffset: '2.12345s' })); });- 预先定义变量再引用:
// 先定义变量赋值为图片实际地址 const JAZZ_IN_PARIS_IMAGE = 'https://替换为你的图片实际公网直链地址'; app.handle('media', (conv) => { conv.add('This is a media response'); conv.add(new Media({ mediaObjects: [ { name: 'Media name', description: 'Media description', url: 'https://storage.googleapis.com/automotive-media/Jazz_In_Paris.mp3', image: { large: JAZZ_IN_PARIS_IMAGE } } ], mediaType: 'AUDIO', optionalMediaControls: ['PAUSED', 'STOPPED'], startOffset: '2.12345s' })); }); - 有效性校验:配置完成后可以先把图片地址放到浏览器无痕模式中访问,确认可以直接加载出图片、无需登录或权限验证即可正常使用。
内容的提问来源于stack exchange,提问作者XCarb
相关产品推荐
相关产品推荐

