Google Cloud vision API: “Request had insufficient authentication scopes.”

本小妞迷上赌 提交于 2019-12-19 07:29:28

问题


Hi I'm trying to use google's cloud vision API, specifically this example: https://cloud.google.com/vision/docs/label-tutorial#label_tutorial_1

I followed this tutorial: https://cloud.google.com/vision/docs/getting-started#set_up_a_service_account for setting up a service account but when I run my code I get:

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

Can anybody help? I can't figure out what's going on, my code is 1:1 with the tutorials.


回答1:


You need to clean ~/.credentials/sheets.googleapis.com-python-quickstart.json from your computer. Then define your scope as https://www.googleapis.com/auth/drive. Run your code again, it should ask you to re-authorize. Then run your code.




回答2:


I was getting the same error. I did the following:

sudo apt-get update & apt-get upgrade

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

then initialized the gcloud sdk via ...

gcloud init 

and voila it started working!

You can also try re-generating the credentials from the API manager




回答3:


You might want to use the google.cloud client library for the Vision API instead.

To authenticate with the right scope, you'll need to generate a service account in the Cloud Console, and point to it from your code (or environment variables). See the Vision auth section for more info:

Get a service account from the credentials manager in the Cloud Console. Then point to your project and JSON credentials file in your environment:

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

The demo you were trying to run (labeling an image) becomes:

>>> 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

(Code snippet taken from the docs)



来源:https://stackoverflow.com/questions/35846446/google-cloud-vision-api-request-had-insufficient-authentication-scopes

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!