Из узла я пытаюсь использовать API Google Cloud Vision для анализа изображения, хранящегося в Google Storage. Я успешно base64 закодировал изображение и загрузил его, но хотел бы ускорить процесс, выполнив против файлов, которые у меня есть в Google Storage. Мой запрос таков:Авторизовать API Google Cloud Vision для хранилища Google image
{"request": [{"image": {"source": {"gcsImageUri": "gs: //mybucket/10001.jpg"}}, "features": [{ "Тип": "LABEL_DETECTION", "maxResults": 10}]}]}
, но я получаю эту ошибку от моего вызова,
{ "ответы": [{ "ошибка": { "код" : 7, «message»: «image-annotator :: Пользователь не имеет разрешения: ACCESS_DENIED: У анонимных абонентов нет доступа к хранилищу.objects.get к объекту mybucket/10001.jpg." }}]}
Я не использую ни один из SDK Google или node_modules для этого запроса, просто ключ API браузера и модуль http. Существуют ли некоторые разрешения, которые я должен установить в Cloud Storage, чтобы позволить Vision API доступ к объектам в ведре? Если да, то что бы это было, я новичок в Облачной платформе Google, но имею большой опыт работы с ролими IAM AWS.
Спасибо, VIPER
Отлично. Итак, продвигаясь вперед, используя google-auth-library-nodejs, я смог получить заголовок авторизации, который включал токен-носитель, теперь, когда я делаю вызов w/добавленный токен, я получаю эту ошибку, «сообщение»: «Проект имеет не активирован API vision.googleapis.com. Включите API для проекта google.com:cloudsdktool (# 32555940559). " Любая идея, как «активировать» это для учетной записи службы, которую я использую? Спасибо! – Viper
Если API Vision не включен для вашего проекта, нажмите эту ссылку: https://console.developers.google.com/apis/api/vision.googleapis.com/overview, затем убедитесь, что ваш проект выбран в вверху справа, затем нажмите «Включить». Однако, я не думаю, что это ваша проблема: «google.com:cloudsdktool» - это не ваш проект. Это демонстрационный проект. Убедитесь, что вы выполняете аутентификацию с помощью идентификатора клиента вашего собственного проекта, а не демонстрационного проекта. –
Похоже, вы используете 'gcloud auth login' для получения вашего токена авторизации. Попробуйте загрузить [ключ учетной записи службы] (https://developers.google.com/identity/protocols/OAuth2ServiceAccount#creatinganaccount) и вместо этого используйте 'gcloud auth activate-service-account' или [setting] (https: // developers .google.com/identity/protocols/application-default-credentials # howtheywork) переменную среды GOOGLE_APPLICATION_CREDENTIALS, путь к файлу json учетной записи службы. – jerjou