Google cloud platform 为语音API设置gs bucket对象的权限

Google cloud platform 为语音API设置gs bucket对象的权限,google-cloud-platform,google-cloud-storage,google-speech-api,gsutil,Google Cloud Platform,Google Cloud Storage,Google Speech Api,Gsutil,我想把一个长的音频文件转录成文本 所以我创建了一个bucket,并使用 gsutil acl set private gs://bucket 然后,我设置了从特定帐户只能上传的访问权限 gsutil acl ch-umyaccount@provider.com:WRITE gs://bucket 然后我将服务帐户的读取权限设置为bucket gsutil acl ch-uprojectname@projectname-a、 iam.gserviceaccount.com:R gs://bucke

我想把一个长的音频文件转录成文本

所以我创建了一个bucket,并使用

gsutil acl set private gs://bucket

然后,我设置了从特定帐户只能上传的访问权限

gsutil acl ch-umyaccount@provider.com:WRITE gs://bucket

然后我将服务帐户的读取权限设置为bucket

gsutil acl ch-uprojectname@projectname-a、 iam.gserviceaccount.com:R gs://bucket/

然后,我使用python程序发送了一个请求,但它返回
403
,但如果我将对象设置为public,它将返回
200
,但我不想将文件的权限设置为public

还有什么我能做的吗

是否必须将音频文件公开以生成文本


我按照此设置服务帐户权限:

通过ACL授予用户对bucket的读取权限,而不仅仅是列出内容。 您可以对对象本身设置ACL读取权限:

gsutil acl ch -u projectname@projectname-a.iam.gserviceaccount.com:R gs://bucket/file.xxx

或者您可以授权访问整个存储桶的内容。

您的python程序在哪里运行?你的本地机器?应用程序引擎应用程序?它正在试图写入bucket吗?@LundinCast Python程序正在本地运行,我正在将bucket对象位置作为有效负载传递。它只是将POST请求发送到speech API