我已将一些测试图像上传到 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 Storage 对象,需要执行哪些步骤?目前,我在尝试 Google Vision 时仅使用 API 密钥。我怀疑可能需要服务帐户以及 GCS 对象上的 ACL。
我可以完全绕过 GCS,对图像进行 Base64 编码并将其发送给 Google Vision API,但我真的想尝试解决这个用例。尚未使用 ACL 或服务帐户。
任何帮助表示赞赏
API 密钥不用于授权。它们用于以下情况:您想要指定应为某个操作对哪个项目进行计费以及应使用哪个项目的配额,但它们不会将您验证为任何特定实体。
为了将 Cloud Vision API 与非公共 GCS 对象一起使用,您需要发送 OAuth 身份验证信息以及对有权读取 GCS 对象的用户或服务帐户的请求。
授权是一个复杂的话题。我建议使用 gcloud 命令行实用程序进行临时实验,或使用适用于您正在开发的语言的 Google Cloud 客户端库。
Google 这里有一个授权指南:https://cloud.google.com/docs/authentication
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)