我正在尝试将文件上传到Google云端存储上的存储桶,但我无法弄清楚如何设置它以使其可公开写入和读取。换句话说,我不想要求用户进行身份验证以便上传到存储桶。有人知道要设置的步骤吗?
我还想知道我需要附加到我的请求标头以便将文件上传到此存储桶。我正在使用iOS API客户端,但如果有人知道原始标头是什么,我可以从中找出如何在iOS中进行操作。目前,我只包含以下附加标题:x-goog-project-id
答案 0 :(得分:15)
对于您的第一个问题,您可以使用以下使用gsutil acl syntax的命令公开您的新上传对象:
gsutil defacl ch -u allUsers:R gs://<bucket>
现在,您需要使用以下命令为每个人提供写入该桶的访问权限:
gsutil acl ch -u allUsers:O gs://<bucket>
关于您的其他问题,我不熟悉iOS,但您可以转到this page的底部并上传对象,您将看到可以在您的代码。
此外,还有Google API Client Library for Objetive-C,您可以使用该库管理Google云端存储as per these files。
我希望它有所帮助。
答案 1 :(得分:2)
请考虑使用已签名的网址(https://developers.google.com/storage/docs/accesscontrol#Signed-URLs),而不是让您的存储桶可公开写入。拥有一个可公开写入的存储桶可能会成为各种形式的滥用行为的开头,如果您的存储桶被互联网上的某个人发现然后上传了大量数据,也可能导致您获得惊人的高额费用。