我已将一些测试图像上传到Google Cloud Bucket,但不想公开(这会欺骗) . 当我尝试为Google Vision API进行休息调用时,我得到:
{
"responses": [
{
"error": {
"code": 7,
"message": "image-annotator::User lacks permission.: Can not open file: gs://images-translate-156512/P1011234.JPG"
}
}
]
}
启用Google Vision API以访问同一项目中的Google Cloud 端存储对象的步骤是什么?目前,我在使用Google Vision时只使用API密钥 . 我怀疑可能需要服务帐户和GCS对象上的ACL .
我可以完全绕过GCS并对base64进行编码并将其发送给Google Vision API,但我真的想尝试解决这个用例 . 尚未使用ACL或服务帐户 .
任何帮助赞赏
1 回答
API密钥不用于授权 . 它们用于您要指定应为操作计费的项目以及应使用哪个项目的配额的情况,但它们不会将您作为任何特定实体进行身份验证 .
要将Cloud Vision API与非公共GCS对象一起使用,您需要发送OAuth身份验证信息以及您对具有读取GCS对象权限的用户或服务帐户的请求 .
授权是一个复杂的主题 . 我建议使用gcloud命令行实用程序进行临时实验,或者将Google Cloud客户端库用于您正在开发的语言 .
谷歌有一个授权指南:https://cloud.google.com/docs/authentication