我正在使用Google Cloud Storage进行媒体宣传。我的网站存储在其他地方。我只想在我的网站上显示图像而不公开此图像。我试图像这样显示这个图像:
<img src="https://www.googleapis.com/storage/v1/b/MY_BUKET/o/MY_MEDIA.jpg?key=MY_KEY" />
我不明白我错过了什么,如果我从谷歌阅读文档我迷失了:我只是想以低安全性显示图片(但不公开),不从我的PHP应用程序管理我的媒体。
我可以使用google-api-php-client(我的网站是PHP版),但我不知道我是否有与此相关的功能。我不知道从哪里开始......
谢谢! (我希望它足够清楚)
编辑:我没有找到任何简单的代码示例来使用google-api-php-client在HTML中呈现私有媒体;我迷失了
答案 0 :(得分:2)
“key =”参数不分配任何类型的权限。这是一个不太安全的标识符,用于告诉Google哪个项目应该为这个匿名的来电收费。它不会让您访问不公开的对象。
将非公开图片嵌入网页的唯一方法是在请求HTML页面时生成签名的URL。有关生成它们的说明,请参阅https://cloud.google.com/storage/docs/accesscontrol#Signed-URLs。
答案 1 :(得分:1)
如果您的应用托管在应用引擎上,那么您可以使用CloudStorageTools::serve()功能将图像作为HTTP请求的结果返回并放入您想要的任何访问控制中。