我正在向其他GCP存储桶写入文件,他们为我创建了一个服务帐户,我在代码中使用服务帐户密钥(.json文件(作为凭据。
我制作了一个Firebase Cloud函数来运行我的代码,所以当我在本地测试它时,一切都能正常工作。当我运行云模拟器时,它也能工作。
然而,当我部署该函数并尝试执行它时,我在日志中收到了这样的错误:
ApiError: my-project@appspot.gserviceaccount.com does not have storage.objects.create access to the Google Cloud Storage object
为什么我可能在本地有权限,但在云中没有?我想服务帐户密钥应该是我在这里获得凭据所需要的全部。
- 如错误消息中所述,服务帐户'my-project@appspot.gserviceaccount.com'没有权限在谷歌云存储中创建bucket或添加对象
- 当你在写别人的项目时,请问项目所有者验证服务帐户'my-project@appspot.gserviceaccount.com'拥有必要的写入Google云存储桶的权限。查找服务帐户能够访问谷歌云存储的适当角色我建议你去通过此链接