小编典典

如何允许匿名上传到云存储

java

我需要用户将文件上传到我的Google云端存储,而无需通过Google进行身份验证。这些主要是运行我的应用程序的Windows台式机/笔记本电脑用户。阅读完不同的身份验证机制后,我发现可恢复的上传可能是我想要的。上面的页面提供了有关如何实现此功能的REST API。我有几个问题:

  1. 这是第三方将数据上传到我的帐户而不登录任何Google帐户的正确方法吗?

  2. 是否存在包含可恢复上传相关代码的Python或Java示例?

谢谢你的帮助。


阅读 230

收藏
2020-11-16

共1个答案

小编典典

您有三个主要选择:

  1. 使用签名的URL。基本上,您将提供一种服务器,该服务器可以使用您喜欢的任何身份验证方案为应用程序分配“签名的URL”。然后,该应用程序将使用其XML API与Google Cloud Storage联系,并使用已签名的URL上传内容。这是最推荐的方法。 http://developers.google.com/storage/docs/accesscontrol#Signed-URLs

  2. 在服务器上启动可恢复的上载,并将URL传递给应用程序。当开始可恢复会话时,将生成一个URL,供上传者联系以上传实际数据。该URL包含一个upload_id参数,该参数用作该上载的自身身份验证,因此该URL就是客户端所需的全部内容(请注意:这就是确保该上载URL安全的重要原因)。 https://developers.google.com/storage/docs/json_api/v1/how-tos/upload#resumable

  3. 创建具有权限集的存储桶,以便匿名用户可以向其中写入任意对象。这是一个 坏主意 。对存储桶的写权限意味着匿名用户可以删除该存储桶中的任何文件,上传任何大小的对象(您需要承担由此产生的存储费用),在他们上传的对象上设置ACL(例如,他们可以使用您的存储桶作为转储电影并与朋友共享URL的地方)。不要使用这种方法。

2020-11-16