Включить Cloud Vision API для доступа к файлу в облачном хранилище - PullRequest
0 голосов
/ 09 мая 2018

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

Как мне обратиться к комментарию Брэндона ниже?

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

У меня есть файл json, который система дала мне, как описано здесь при создании учетной записи службы. Я пытаюсь запустить API из скрипта Python.

Не понятно, как его использовать.

1 Ответ

0 голосов
/ 09 мая 2018

Я бы рекомендовал использовать клиентскую библиотеку Vision API для python для выполнения вызова. Вы можете установить его на свой компьютер (в идеале в virtualenv ), выполнив следующую команду:

pip install --upgrade google-cloud-vision

Далее, вам нужно установить переменную среды GOOGLE_APPLICATION_CREDENTIALS для пути к файлу JSON, который содержит ключ вашей учетной записи службы. Например, на компьютере с Linux вы должны сделать это так:

export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/service-account-file.json"

Наконец, вам просто нужно вызвать нужный метод клиента Vision API (например, здесь метод label_detection) следующим образом:

def detect_labels():
    """Detects labels in the file located in Google Cloud Storage."""
    client = vision.ImageAnnotatorClient()
    image = types.Image()
    image.source.image_uri = "gs://bucket_name/path_to_image_object"

    response = client.label_detection(image=image)
    labels = response.label_annotations
    print('Labels:')

    for label in labels:
        print(label.description)

Путем инициализации клиента без параметров библиотека автоматически найдет переменную среды GOOGLE_APPLICATION_CREDENTIALS, которую вы ранее установили и запустили от имени этой учетной записи службы. Если вы предоставили ему разрешения на доступ к файлу, он будет успешно запущен.

...