我们如何从dialogflow访问存储在云存储中的媒体文件?
如果我将它们公开,则可以访问这些文件,但还有哪些其他选择? 如果我们授予对服务帐户的访问权限(对话流和/或firebase),它应该工作吗?
// https://developers.google.com/actions/assistant/responses#media_responses
// Create a media response
conv.ask(new MediaObject({
name: track.title,
url: track.source,
description: track.artist,
icon: new Image({
url: track.image,
alt: 'Media icon'
})
}));
答案 0 :(得分:1)
否,授予对您正在其下运行操作的服务帐户的访问权限是不够的。您的操作在云中运行,但是音频文件是由用户的设备直接下载的。
一种可行的技术是使用Signed URL。这样一来,您就可以在云存储存储桶上设置访问限制,但是可以在有限的时间内生成一个URL以访问文件。