取消选中后,Google云端存储公共链接不会失效
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了取消选中后,Google云端存储公共链接不会失效相关的知识,希望对你有一定的参考价值。
我正在使用Google云端存储来上传图片。我现在正在从云控制台进行测试。在我上传图片后,如果我检查公开共享复选框以获取公共链接,我(显然)得到一个可公开访问的网址,即:https://storage.googleapis.com/bucket_name/pictureName。
然后,如果我取消选中“公开共享”复选框,则会发出请求
Request URL:https://clients6.google.com/storage/v1_internal/b/bucketName/o/pictureName.jpg/acl/allUsers?key=AIzaSyCI-yuie5UVOi0DjtiCwWBwQ1djkiuo1g
Request Method:DELETE
该请求进展顺利,但公共网址仍可公开访问。我认为它有效一段时间,但一小时后仍然可用。那么,删除公共网址的正确方法是什么?我公开后如何限制对存储文件的访问?
请参阅cache control and consistency上的文档。特别是:
注意:如果未指定缓存生存期,则可以缓存最多60分钟的可公开访问的对象。
所以我猜这是按预期工作的,你的对象是缓存的。你试过等一会儿吗?
在Sharing your data publicly中,它表明有两种方法可以公开停止共享对象。
- 如您所述,取消选中“公共共享”下的复选框。
- 编辑对象权限并删除ID为
allUsers
的条目。
您仍然能够公开访问该对象的原因确实是因为@jterrace提到的缓存。引用的Cache control and consistency文章解释了这种最终一致性的影响。
可以通过公开共享对象并在之后立即取消共享来测试此行为。在大多数情况下,对象将在缓存持续时间内公开访问。可以通过指定Cache-Control
标头(例如max-age
)来缩短此持续时间。
当你分享公共网址就像https://storage.googleapis.com/bucket_name/pictureName。
如果您删除该文件或取消选中“公开共享”复选框,则该文件最长可达60分钟,这是Google云中的默认缓存时间,
要避免问题需要传递像https://storage.googleapis.com/bucket_name/pictureName?avoidCache=1这样的Query参数
每次在查询字符串中传递随机数。
以上是关于取消选中后,Google云端存储公共链接不会失效的主要内容,如果未能解决你的问题,请参考以下文章
gridview中的第一项在AdapterView.OnItemClickListener中不会更改
Google云端硬盘文档编辑器显示了其他链接的应用,例如日历和其他Google产品导航。如何隐藏完成的投递箱?