Google cloud speech api lanzando 403 al intentar usarlo

Estoy usando python con google api de voz en la nube. Realicé todos los pasos en ” ¿Cómo usar la api de reconocimiento de voz de google en python? ” En ubuntu y en windows también, y cuando bash ejecutar el script simple desde aquí – ” https: //github.com/GoogleCloudPlatform/python-docs-samples/blob/master/speech/api/speech_rest.py ”

Me sale el siguiente error:

lo que es raro es que no tengo proyecto con el nombre “cloudsdktool”

Ejecuté “gcloud init” y vinculé el archivo json que obtuve cuando creé la clave de la cuenta de servicio con el comando “gcloud auth execute-service-account –key-file = jsonfile”, intenté en Linux crear la variable de entorno de credenciales de Google y sigo recibiendo el mismo masaje

Así que encontré dos maneras de solucionar ese problema:

1: si utiliza google cloud sdk y la voz de la nube está en la versión beta, debe ejecutar ‘gcloud beta init’ en lugar de ‘gcloud init’ y luego proporcionar el archivo json

2 – Si no quieres usar el SDK en la nube de Google, puedes pasar el archivo json directamente en la aplicación Python.

Aquí están los métodos para esto:

 from oauth2client.client import GoogleCredentials GoogleCredentials.from_stream('path/to/your/json') 

luego, simplemente crea un ámbito en las credenciales y autoriza o, si usa grpc (transmisión), lo pasa al encabezado como en el ejemplo.

Aquí está el script cambiado para el grpc:

 def make_channel(host, port): """Creates an SSL channel with auth credentials from the environment.""" # In order to make an https call, use an ssl channel with defaults ssl_channel = implementations.ssl_channel_credentials(None, None, None) # Grab application default credentials from the environment creds = GoogleCredentials.from_stream('path/to/your/json').create_scoped([SPEECH_SCOPE]) # Add a plugin to inject the creds into the header auth_header = ( 'Authorization', 'Bearer ' + creds.get_access_token().access_token) auth_plugin = implementations.metadata_call_credentials( lambda _, cb: cb([auth_header], None), name='google_creds') # compose the two together for both ssl and google auth composite_channel = implementations.composite_channel_credentials( ssl_channel, auth_plugin) return implementations.secure_channel(host, port, composite_channel)