Ben*_*Ben 5 google-cloud-storage google-speech-api
几个月来,我一直在使用Google Speech API从我的PHP应用程序(使用Google Cloud PHP客户端)将音频转录成文本。但是,我的呼叫现在开始返回403错误,状态为“ PERMISSION_DENIED”,并显示消息“呼叫者没有权限”。
我正在将Speech API与Google Storage一起使用。我正在使用服务帐户进行身份验证,并将音频数据发送到存储。可以,文件已上传。我知道了-但我可能错了吗?-“呼叫者”无权从存储中读取音频数据。
我一直在通过Google控制台使用权限,但没有成功。我看过文档,但很困惑。我正在使用的服务帐户(我想这是“呼叫者”吗?)对项目拥有所有者权限。过去一切正常,我没有改变任何事情。
我之所以没有发布代码,是因为如果我正确理解我的应用代码不是问题,而是我的Google Cloud设置。对于任何想法或概念澄清,我将不胜感激!
谢谢。
成为项目的所有者不一定意味着该服务帐户对该对象具有读取权限。该对象可能是由另一个指定了专用ACL或类似名称的帐户上传的。
通过为服务帐户授予对整个存储桶或特定对象本身的正确权限,确保该服务帐户有权访问该对象。
您可以使用gsutil acl进行操作。更多信息和其他方法可以在官方文档中找到。
例如,以下命令将对象的读取权限授予您的服务帐户:
gsutil acl -r ch -u serviceAccount@domain.com:R gs://bucket/object
Run Code Online (Sandbox Code Playgroud)
此命令将整个存储桶的READ权限授予您的服务帐户:
gsutil acl -r ch -u serviceAccount@domain.com:R gs://bucket
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4205 次 |
| 最近记录: |