2016-03-07 170 views
4

嗨,我尝试使用谷歌的云计算愿景API,具体的例子:https://cloud.google.com/vision/docs/label-tutorial#label_tutorial_1Google Cloud vision API:“请求的认证范围不足。”

我跟着这个教程:https://cloud.google.com/vision/docs/getting-started#set_up_a_service_account设立一个服务帐户,但是当我跑我的代码,我得到:

googleapiclient.errors.HttpError: <HttpError 403 when requesting https://vision.googleapis.com/$discovery/rest?version=v1 returned "Request had insufficient authentication scopes."> 

任何人都可以帮忙吗?我无法弄清楚发生了什么,我的代码与教程是1:1。

回答

3

我得到了同样的错误。我做了以下内容:

sudo apt-get update & apt-get upgrade 

pip install --upgrade google-api-python-client 

然后初始化gcloud SDK通过......

gcloud init 

,瞧它开始工作!

您也可以尝试重新生成的凭证从API管理

5

您需要从您的电脑清洁~/.credentials/sheets.googleapis.com-python-quickstart.json。然后将您的范围定义为https://www.googleapis.com/auth/drive。再次运行您的代码,它应该要求您重新授权。然后运行你的代码。

0

您可能希望使用Vision API的google.cloud client library

要使用正确的范围进行身份验证,您需要在云控制台中生成一个服务帐户,并从您的代码(或环境变量)中指向它。有关详细信息,请参见​​:

从云控制台中的credentials manager获取服务帐户。然后指向你的项目和JSON凭据在你的环境文件:

$ export GOOGLE_CLOUD_PROJECT="your-project-id-here" 
$ export GOOGLE_APPLICATION_CREDENTIALS="/path/to/keyfile.json" 

你试图运行(标记的图像)演示变成:

>>> from google.cloud import vision 
>>> client = vision.Client() 
>>> image = client.image(source_uri='gs://my-storage-bucket/image.jpg') 
>>> labels = image.detect_labels(limit=3) 
>>> labels[0].description 
'automobile' 
>>> labels[0].score 
0.9863683 

(代码片段从 docs拍摄)
相关问题