问题
I am trying to use the google speech API for converting an audio file to text, but facing some problems with the documentation.I have enabled the speech API and created an service account file. I also got the service account credentials activated. Then I wrote the following command to retrieve the authorization token using my service account.
gcloud auth application-default print-access-token
But it is returning this message
I don't understand why this is happening because I already have an VM instance created in my Compute Engine. Can anybody explain where am I going wrong with this? Also, is there any other way to authenticate my account and call the google speech API?
回答1:
gcloud credentials and and application default credentials are managed separately. If you activated service account key file this only can be used for gcloud commands but not for application default credentials.
gcloud auth application-default
set of commands are there only to manage application default and having nothing to do with commands in gcloud auth
.
There a few ways to "activate" application default credentials:
- Use your user account
- Run
gcloud auth application-default login
, or
- Run
Use service account (preferred)
- set environment variable
GOOGLE_APPLICATION_CREDENTIALS=path/to/your/service_accont_key_file.json
copy
path/to/your/service_accont_key_file.json
to ~/.config/gcloud/application_default_credentials.json`On windows this might be different, run
gcloud info --format="value(config.paths.global_config_dir)"
to get a path to your config directory.
- set environment variable
now command like
gcloud auth application-default print-access-token
should work.
回答2:
As A solution you can Download the GCLOUD console and then RUN this command on console "gcloud auth application-default" login with the gmail account which have the project access and then you will get access of google api which are enabled.
回答3:
you can generate your key json file on gcloud using this command: gcloud auth application-default login
google will display a link to confirm, once you do, there will be the json file ina temp folder displayed
来源:https://stackoverflow.com/questions/44925170/google-application-credentials-error