6

嗨我正在尝试使用谷歌的云视觉 API,特别是这个例子:https ://cloud.google.com/vision/docs/label-tutorial#label_tutorial_1

我遵循本教程: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 的。

4

3 回答 3

6

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

于 2016-07-27T16:29:08.600 回答
3

我遇到了同样的错误。我做了以下事情:

sudo apt-get update & apt-get upgrade

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

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

gcloud init 

瞧,它开始工作了!

您也可以尝试从 API 管理器重新生成凭据

于 2016-03-17T11:29:41.097 回答
0

您可能希望改用 Vision API 的google.cloud客户端库

要使用正确的范围进行身份验证,您需要在 Cloud Console 中生成一个服务帐号,并从您的代码(或环境变量)中指向它。有关更多信息,请参阅Vision auth 部分

从Cloud Console 中的凭据管理器获取服务帐号。然后在您的环境中指向您的项目和 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

(取自文档的代码片段)

于 2017-07-03T12:03:00.383 回答