Google云视API"PERMISSION_DENIED"

Google Cloud Vision API "PERMISSION_DENIED"

我正在尝试 Google Cloud Vision API(测试版),它正在返回 "Permission Denied" 消息。但是为项目启用了 "Cloud Vision API"。感谢任何帮助。

来自 Google APIs Explorer

的错误详细信息
403 OK

- Show headers -

{
 "error": {
  "code": 403,
  "message": "Project has not activated the vision.googleapis.com API. Please enable the API for project google.com:apisexplorerconsole (#292824132082).",
  "status": "PERMISSION_DENIED",
  "details": [
   {
    "@type": "type.googleapis.com/google.rpc.Help",
    "links": [
     {
      "description": "Google developers console API activation",
      "url": "https://console.developers.google.com/project/292824132082/apiui/api"
     }
    ]
   }
  ]
 }
}

您应该首先使用 CURL 请求而不是 API 浏览器或您最喜欢的编程语言:

curl -v -k -s -H "Content-Type: application/json" https://vision.googleapis.com/v1/images:annotate?key=put_your_browser_secret_key_here --data-binary @put_your_req.json > result.json

{
"requests":[
{
  "image":{
    "content":"put_your_encoded_base64_image_content"
  },
  "features":[
    {
      "type":"LABEL_DETECTION",
      "maxResults":4
    }
  ]
}
]
}

你可能已经知道了:

base64 your_image > your_encoded_base64_image_content

希望对您有所帮助,我不知道为什么 API 资源管理器存在限制。

对于 GOOGLE_APPLICATION_CREDENTIALS - 请确保您指向正确的凭据文件。您应该确保环境变量指向您从控制台下载的凭据文件。 否则会使用gcloud项目,会失败

  1. 确保为您的项目启用 Cloud Vision API。 笔记。默认情况下可能未列出。您可以通过搜索找到它。

  2. 创建服务帐户密钥并下载JSON格式的密钥。 https://developers.google.com/identity/protocols/application-default-credentials#howtheywork

  3. 设置GOOGLE_APPLICATION_CREDENTIALS环境变量。
    export GOOGLE_APPLICATION_CREDENTIALS=/path/to/your/credentials-key.json

创建google愿景api关键环境变量:

GCV_API_KEY="YOUR_GOOGLE_VISION_API_KEY"

创建 base64 图像变量:

BASE64_IMAGE=$( base64 image.jpg )

创建json文件查询google视觉图像标签检测:

echo "{\"requests\":[{\"image\":{\"content\":\"$BASE64_IMAGE\"},\"features\":[{\"type\":\"LABEL_DETECTION\",\"maxResults\":4}]}]}" > gcv_label_request.json

创建json文件查询google视觉图片文字检测:

echo "{\"requests\":[{\"image\":{\"content\":\"$BASE64_IMAGE\"},\"features\":[{\"type\":\"TEXT_DETECTION\",\"maxResults\":4}]}]}" > gcv_ocr_request.json

查询 google vision api 以使用 curl 获取图像标签并将 repose 存储在 json 文件中:

curl -v -k -s -H "Content-Type: application/json" https://vision.googleapis.com/v1/images:annotate?key=$GCV_API_KEY --data-binary @gcv_label_request.json > gcv_label_response.json

查询google视觉api以使用curl获取图像文本并存储在json文件中:

curl -v -k -s -H "Content-Type: application/json" https://vision.googleapis.com/v1/images:annotate?key=$GCV_API_KEY --data-binary @gcv_ocr_request.json > gcv_ocr_response.json

您可以前往 https://console.developers.google.com/iam-admin/projects 制作您的项目。

之后只需启用您想要的服务即可。 只要确保将密钥保存到安全位置即可。 这是一个简单的步骤,可以帮助您启用服务。

除了使您的项目对视觉进行身份验证和授权外 api 只需按照以下步骤操作即可。

https://googlecloudplatform.github.io/google-cloud-python/stable/google-cloud-auth.html

GCP 在创建任何客户端之前查找特定的环境变量,

如果您已经下载了json密钥文件,那么简单运行这个命令将文件的路径保存到环境变量。

导出GOOGLE_APPLICATION_CREDENTIALS='/path/to/file/key.json'