javascript将google云存储的存储桶公开给特定的URL或网站
Firebase托管我的网站。网站有一个javascript将google云存储的存储桶公开给特定的URL或网站,javascript,reactjs,firebase,iframe,google-cloud-storage,Javascript,Reactjs,Firebase,Iframe,Google Cloud Storage,Firebase托管我的网站。网站有一个元素,它将从谷歌云存储中的bucket加载aaa.html 而且aaa.html还将加载存储在同一存储桶中的其他文件(js文件或img文件) 当我使用gsutil iam ch allUsers:objectViewer gs://bucket设置bucket public和所有文件public时,网站工作得非常好。但是我不希望没有我的网站,用户可以链接aaa.html。设置bucket public似乎不正确 那么,有没有办法向特定网站公开bucket
元素,它将从谷歌云存储中的bucket加载aaa.html
而且aaa.html
还将加载存储在同一存储桶中的其他文件(js
文件或img
文件)
当我使用gsutil iam ch allUsers:objectViewer gs://bucket
设置bucket public和所有文件public时,网站工作得非常好。但是我不希望没有我的网站,用户可以链接aaa.html
。设置bucket public似乎不正确
那么,有没有办法向特定网站公开bucket呢?好的。你说过你不想公开你的桶。签名URL不适合您 我认为你可以通过以下方式实现你的目标:
希望这对您有所帮助:谢谢您的回复。我使用
firebase admin
和@google cloud/storage
在云函数中设置servicecomport.json
。当我以同样的方式通过
在前面加载aaa.html
时,匿名调用方拒绝了我的访问。如何在网站中加载aaa.html
?在云函数中,我可以通过.getSignedUrl
返回aaa.html
的url。然后
加载url。但我只得到了aaa.html
,aaa.html
没有加载其他文件(js文件和图像文件),就像你说的,签名url不适合我。我真的不知道如何正确加载aaa.html
。我与您共享的链接是用于从后端调用API的。你试着从前端调用它。嗯,这个怎么样?按照文档的说法调用API,并在页面中使用jQuery添加结果。这就是使用jQuery动态地向html文件添加元素的方式:告诉我它是如何运行的:请原谅,我太着急了,无法清楚地描述我的问题。我想知道是否有一种方法,只使用前端加载成功。在云函数中,我应该“获取”aaa.html
url吗?或者“下载”aaa.html
?别担心。我喜欢帮忙。我认为在这种情况下,您应该使用已签名的URL。我找不到从前线传递证件的方法。但这样做,将使您的对象向拥有该URL的任何人公开。