我通过托管在Google云端存储上的电子邮件授予了对某些用户的访问权限。 (比如... jane@gmail.com)。但是,无论何时该人登录Chrome的gmail帐户,他们都无法访问该文件。它只是说许可被拒绝了。发生了什么事?
我使用的链接是这样的: http://storage.googleapis.com/my-bucket/my-object
并且在我的信息中心上,我已经完全配置了他们的gmail帐户,以便能够访问我的存储桶(甚至是特定文件)。
我也尝试使用gsutil工具,如下:
gsutil acl ch -u jane@gmail.com:R gs://finance-marketing
但我不断收到一些代码401 Login Required
消息。我误会了什么吗?特定用户是否必须以某种方式下载gsutil并授予自己访问权限?
答案 0 :(得分:3)
授予访问权限时,您授予用户使用OAuth2凭据访问该对象的权限。开发人员控制台在幕后执行此身份验证,但Chrome对此不了解,这就是您显示的链接不起作用的原因。
在不授予用户访问项目本身的权限(此时他们可以使用控制台浏览器),您需要用户使用了解OAuth2的工具,例如gsutil。
您还可以通过向控制台本身提供链接来利用控制台的幕后OAuth2,例如: https://console.developers.google.com/m/cloudstorage/b/your-bucket-name/o/your-object-name - 如果用户已登录,这应该可以在Chrome中使用。
最后,通过Chrome访问的另一个选项是使用Cookie验证,如此处所述https://developers.google.com/storage/docs/authentication。然后,您可以提供表单的URL: https://storage.cloud.google.com/your-bucket-name/your-object-name
如果选择gsutil路线,则需要运行:
gsutil config
设置gsutil以使用您的凭据(同样适用于您要授予其访问权限的用户)。