2

Я загрузил несколько тестовых изображений в Google Cloud Bucket, но не хочу, чтобы они были общедоступными (что было бы обманом). Когда я пытаюсь запустить остальное вызов для Google Видения API я получаю:Как включить API Google Vision для доступа к веществу Google Cloud Storage в одном проекте

{ 
    "responses": [ 
    { 
     "error": { 
     "code": 7, 
     "message": "image-annotator::User lacks permission.: Can not open file: gs://images-translate-156512/P1011234.JPG" 
     } 
    } 
    ] 
} 

Какие шаги, позволяющие Google Видения API для доступа к объектам Google Cloud Storage в рамках одного проекта? В настоящий момент я использую только ключ API, когда я экспериментирую с Google Vision. Я подозреваю, что может потребоваться учетная запись службы и ACL для объектов GCS.

Я мог бы обойти GCS в целом и base64 закодировать изображение и отправить его API Google Vision, но действительно хочу попытаться решить этот прецедент. Не используются ACL или учетные записи служб.

Любая помощь приветствуется

ответ

2

ключи API не используются для авторизации. Они используются в ситуациях, когда вы хотите указать, какой проект должен быть выставлен для операции, и какая квота проекта должна использоваться, но они не аутентифицируют вас как какую-либо конкретную сущность.

Чтобы использовать API Cloud Vision с непубличным объектом GCS, вам необходимо отправить информацию об аутентификации OAuth вместе с запросом учетной записи пользователя или службы, которая имеет разрешение на чтение объекта GCS.

Авторизация - сложная тема. Я рекомендую использовать gcloud утилиту командной строки для одноранговых экспериментов или клиентской библиотеки Google Cloud для языка вы разрабатываете в

Google имеет руководство для авторизации здесь:. https://cloud.google.com/docs/authentication

+0

Так я создаю службу учетной записи и присвоить ей ACL на уровне ковша? Нужно ли привязать эту учетную запись к API Google Vision или просто к Google Storage? – smackenzie

+0

Ссылка означает, что все облачные API Google требуют аутентификации, но я просто отправляю ключ API для доступа к Google Vision? – smackenzie

+1

Учетная запись службы не является строго необходимой; вы также можете позвонить с вашей учетной записью. Если вы хотите использовать учетную запись службы, ей должно быть предоставлено разрешение на чтение в ведро GCS. –

Смежные вопросы