Google api 使用公共链接将公共对象上载到Google云存储

Google api 使用公共链接将公共对象上载到Google云存储,google-api,google-cloud-storage,google-api-client,Google Api,Google Cloud Storage,Google Api Client,我到处都在搜索这个问题,但我找不到解决方案,我怎么能把一个公共对象上传到我的谷歌云存储,我想让它一旦上传图像,世界上任何人都能看到它 似乎我只有手动点击谷歌存储中的公共链接才能做到这一点,但我想拥有它,这样我就可以通过谷歌api自动将这些对象公开 web界面不提供自动公开上载对象的方法,但您可以执行以下两种操作之一: 如果您只想在一个特定会话期间使对象公开可读,可以使用gsutil来实现,例如 gsutil-mcp-a public read dir/*gs://your bucket 如果要使

我到处都在搜索这个问题,但我找不到解决方案,我怎么能把一个公共对象上传到我的谷歌云存储,我想让它一旦上传图像,世界上任何人都能看到它


似乎我只有手动点击谷歌存储中的公共链接才能做到这一点,但我想拥有它,这样我就可以通过谷歌api自动将这些对象公开

web界面不提供自动公开上载对象的方法,但您可以执行以下两种操作之一:

  • 如果您只想在一个特定会话期间使对象公开可读,可以使用gsutil来实现,例如

    gsutil-mcp-a public read dir/*gs://your bucket

  • 如果要使对象在将来的所有会话中公开可读,可以使用以下命令在bucket上设置默认对象ACL:

    gsutil defacl set public read gs://your bucket


  • 如果您这样做,通过web界面(以及任何其他API请求,例如gsutil cp命令)上传的内容将自动公开可读。

    这是否适用于整个目录,这只是一次性使用还是在目录上设置一次,之后加载的所有对象都将被公共读取?该命令将复制“dir”中的所有文件,并将其上载到“your bucket”,每个文件都将被公共读取。如果你想上传更多的文件,你必须将它们标记为“公共读取”。如果您同时上载多个文件,我还建议您使用-m标志。@SandeepDinesh谢谢您的澄清,我不确定它到底是如何使用的。我现在完全明白了,并且能够解决我的问题。我在回答中添加了在bucket上设置默认对象ACL,因为这提供了一种在web界面上工作的方法。这篇文章可能会对您有所帮助。祝你好运