启用Cloud Vision API以访问云存储上的文件

时间:2018-05-09 09:38:02

标签: authentication google-cloud-storage google-oauth google-cloud-vision

我已经看到有一些similar questions,但它们实际上都没有提供完整的答案。 由于我不能在那个帖子中评论,我正在开一个新的。

如何在下面发表Brandon评论?

  

" ...   为了将Cloud Vision API与非公共GCS对象一起使用,   您需要发送OAuth身份验证信息以及您的身份验证信息   请求有权阅读的用户或服务帐户   GCS对象。"?

当我创建服务帐户时,我有here描述的系统给我的json文件。 我试图从python脚本运行api。

目前尚不清楚如何使用它。

1 个答案:

答案 0 :(得分:0)

我建议使用Vision API Client Library for python来执行调用。您可以通过运行以下命令将其安装在您的计算机上(最好在virtualenv中):

expr

接下来,您需要将环境变量pip install --upgrade google-cloud-vision 设置为包含服务帐户密钥的JSON文件的文件路径。例如,在Linux机器上,你可以这样做:

GOOGLE_APPLICATION_CREDENTIALS

最后,您只需调用所需的Vision API客户端方法(例如此处为export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/service-account-file.json" 方法),如下所示:

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) 环境变量。如果您授予其访问该文件的权限,则它将成功运行。