如何启用Google Vision API以在同一项目中访问Google云端存储分区

sma*_*zie 5 google-cloud-storage google-vision google-cloud-vision

我已将一些测试图像上传到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"
      }
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

启用Google Vision API以访问同一项目中的Google云端存储对象的步骤是什么?目前,我在使用Google Vision时只使用API​​密钥.我怀疑可能需要服务帐户和GCS对象上的ACL.

我可以完全绕过GCS并对base64进行编码并将其发送给Google Vision API,但我真的想尝试解决这个用例.尚未使用ACL或服务帐户.

任何帮助赞赏

Bra*_*ugh 3

API 密钥不用于授权。它们用于以下情况:您想要指定应为某个操作对哪个项目进行计费以及应使用哪个项目的配额,但它们不会将您验证为任何特定实体。

为了将 Cloud Vision API 与非公共 GCS 对象一起使用,您需要发送 OAuth 身份验证信息以及对有权读取 GCS 对象的用户或服务帐户的请求。

授权是一个复杂的话题。我建议使用 gcloud 命令行实用程序进行临时实验,或使用适用于您正在开发的语言的 Google Cloud 客户端库。

谷歌在这里有一个授权指南: https: //cloud.google.com/docs/authentication

  • 服务帐户并不是绝对必要的;您也可以使用自己的帐户拨打电话。如果您确实想使用服务帐户,则需要授予它对 GCS 存储桶的读取权限。 (2认同)