我已经创建了谷歌存储桶,以执行谷歌语音到文字桶中的音频文件。但这是不起作用的,因为桶是拒绝访问谷歌语音API。
错误消息:匿名调用方没有storage.objects.get access PERMISSION_DENIED
语音使用API密钥进行身份验证,存储使用服务帐户密钥进行身份验证。我已经给予访问服务帐户的桶的权限。
是否有可能让语音访问存储桶?
我还试着给桶的服务帐户许可。但不起作用。
发布于 2019-07-09 14:40:04
您根本没有使用身份验证;这是由错误消息中的“匿名调用者”显示的。
似乎您正在使用curl或其他工具直接访问API。
为了以这种方式进行身份验证,您可以遵循这些指示。查看curl示例,但这样做(使用gcloud auth print-access-token作为从CLI生成访问令牌的简单方法),将"$BUCKET_NAME“替换为桶的名称,将"$OBJECT_NAME”替换为对象的名称(使用环境变量或字面上的名称):
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -i "https://www.googleapis.com/download/storage/v1/b/$BUCKET_NAME/o/$OBJECT_NAME?alt=media"
但是要小心,因为这会将文件下载到您的终端,并且可能会破坏它的显示。为了避免这种情况,只需将"> $OBJECT_NAME“附加到命令中,以保存所请求的文件。
https://stackoverflow.com/questions/56938503
复制相似问题