Google cloud platform 云函数中getSignedUrl承诺的权限被拒绝

Google cloud platform 云函数中getSignedUrl承诺的权限被拒绝,google-cloud-platform,google-cloud-functions,google-cloud-storage,Google Cloud Platform,Google Cloud Functions,Google Cloud Storage,我有一个http onCall云函数,我想返回一个signedURL,以允许我将文件上传到云存储桶 它一直告诉我许可被拒绝,但我看不出问题出在哪里。功能GCPSecureURL设置为允许未经身份验证,StorageAdmin设置为所有用户 服务帐户还可以访问bucket上的StorageAdmin,因为发布/订阅会在文件上载到bucket并触发pdf转换服务时订阅事件 为什么我不能从函数中获取signedURL 现在这个承诺是挂起的,然后控制台记录一个POST 500错误。函数的日志显示未处理的

我有一个http onCall云函数,我想返回一个signedURL,以允许我将文件上传到云存储桶

它一直告诉我许可被拒绝,但我看不出问题出在哪里。功能GCPSecureURL设置为允许未经身份验证,StorageAdmin设置为所有用户

服务帐户还可以访问bucket上的StorageAdmin,因为发布/订阅会在文件上载到bucket并触发pdf转换服务时订阅事件

为什么我不能从函数中获取signedURL


现在这个承诺是挂起的,然后控制台记录一个POST 500错误。函数的日志显示未处理的错误{error:调用方没有权限“…

调用
file.getSignedUrl()
时,我也遇到了
服务帐户令牌创建者
错误


我通过访问Firebase项目页面并编辑
应用引擎默认服务帐户
以拥有
服务帐户令牌创建者
角色来修复它。

这看起来非常相似,尽管它涉及云运行。Tty添加“服务帐户令牌创建者”"角色到您的服务帐户。我被搞糊涂了-看起来您根本无法使用signedURL上载新文件,因为它不接受POST-但我一直尝试调整的示例专门用于上载?自从signedURL实施以来,这是否发生了变化?我认为没有任何变化,您应该仍然能够上载文件。可以吗您将详细说明如何执行上载以及出现了什么错误。另外,请检查“确定”,我已将服务帐户令牌创建者角色添加到正确的服务帐户中,现在它可以工作了-非常感谢!