API Google Cloud Vision PERMISSION_DENIED

Я пробую Google Cloud Vision API (бета), и он возвращает сообщение «Permission Denied». Но «Cloud Vision API» включен для проекта. Любая помощь приветствуется.

Подробная информация об ошибке в Google API 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"
     }
    ]
   }
  ]
 }
}

person Binoy Mathew    schedule 21.02.2016    source источник


Ответы (5)


Вам следует начать с использования запроса 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 Explorer есть ограничение.

person Simon Micollier    schedule 21.02.2016
comment
Он работал с CURL! Спасибо, Саймон. Даже пример программы, предоставленный Google [ссылка] (cloud.google.com/vision/docs / face-tutorial) не сработало. Я не уверен, нужно ли мне что-то конкретное, чтобы следующий код не отображал ответ Permission Denied. - person Binoy Mathew; 21.02.2016
comment
Программа-пример не работала, так как я не установил GOOGLE_APPLICATION_CREDENTIALS. Теперь работает :) - person Binoy Mathew; 22.02.2016
comment
@BinoyMathew, не стесняйтесь делиться своим кодом, используя GOOGLE_APPLICATION_CREDENTIALS :) - person Simon Micollier; 22.02.2016

  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

person Jack Fan    schedule 28.03.2016

Для GOOGLE_APPLICATION_CREDENTIALS: убедитесь, что вы указываете правильный файл учетных данных. Вы должны убедиться, что переменная среды указывает на файл учетных данных, который вы загружаете с консоли. В противном случае он будет использовать проект gcloud и потерпит неудачу.

person Ram Ramanathan    schedule 22.02.2016
comment
хотя я указал на это правильно, он не работает. пожалуйста помоги. я использую ubuntu - person saikiran; 07.03.2018

Создайте ключевую переменную среды google vision api key:

GCV_API_KEY="YOUR_GOOGLE_VISION_API_KEY"

Создайте переменную изображения base64:

BASE64_IMAGE=$( base64 image.jpg )

Создайте файл json для запроса обнаружения метки изображения Google Vision:

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

Создайте файл json для запроса обнаружения текста изображения Google Vision:

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

Запросите API видения Google, чтобы получить метки изображений с помощью 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_label_request.json > gcv_label_response.json

Запросите google vision 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
person sebasbad    schedule 03.01.2017
comment
Как создать ключ? ... попробовал console.cloud.google.com/apis/credentials ›Создать учетные данные ›КЛЮЧ API, но получение PERMISSION_DENIED при попытке от почтальона ... Думаю, проблема не в почтальоне. - person earthdan; 05.08.2017
comment
Привет @earthdan, вы можете проверить детали ответа json. Одна из возможных причин может заключаться в том, что в облачном проекте Google, ключ API которого вы используете, отключен биллинг. - person sebasbad; 10.08.2017

Вы можете перейти на https://console.developers.google.com/iam-admin/projects и сделайте свой проект.

После этого просто включите нужную услугу. Просто убедитесь, что вы сохранили ключ в надежном месте. Это простой шаг, который может помочь вам включить службу.

В дополнение к тому, чтобы ваш проект аутентифицировался и авторизовался для Vision api, просто выполните следующий шаг.

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

person Deep Jadia    schedule 22.02.2017