Google cloud platform 谷歌云语音异步请求与私有音频文件

Google cloud platform 谷歌云语音异步请求与私有音频文件,google-cloud-platform,google-cloud-storage,google-cloud-speech,Google Cloud Platform,Google Cloud Storage,Google Cloud Speech,我正试图通过对谷歌云语音执行异步请求来编写一个托管在谷歌云存储桶中的音频文件的脚本。该文件不是公共文件。作为身份验证方法,我使用服务帐户。 Google cloud speech返回一个权限被拒绝的错误。相反,对于公共文件,它是有效的 我能做什么? 谢谢。服务帐户需要权限才能读取文件。试试这个: $ gsutil acl ch -u nameOf@serviceaccount.com:R gs://bucket/object 可以使用不同的选项管理对云存储的访问控制,如中所述 使用已接受答案中

我正试图通过对谷歌云语音执行异步请求来编写一个托管在谷歌云存储桶中的音频文件的脚本。该文件不是公共文件。作为身份验证方法,我使用服务帐户。 Google cloud speech返回一个权限被拒绝的错误。相反,对于公共文件,它是有效的

我能做什么?
谢谢。

服务帐户需要权限才能读取文件。试试这个:

$ gsutil acl ch -u nameOf@serviceaccount.com:R gs://bucket/object

可以使用不同的选项管理对云存储的访问控制,如中所述

使用已接受答案中建议的方法,您可以通过。通常,建议改为使用ACL,但当您需要对单个对象进行精细的详细控制时,使用ACL是您希望遵循的方法。使用命令gsutil acl ch-unameOf@serviceaccount.com:R gs://bucket/object,您提供了对bucket中特定对象的访问权限,在本例中,是云存储中承载的音频文件

但是,如果您的想法是使用存储在云存储中的多个文件的语音API,那么您应该考虑使用诸如<代码>角色/Sturial.ObjutVistue授予您的服务帐户的权限。这样,您的服务帐户就可以访问整个bucket,而无需为每个文件授予访问权限