SITUACIÓN:
Sigo este tutorial: https://cloud.google.com/nodejs/tutorials/bookshelf-on-compute-engine
Todo funciona bien hasta que hago npm start y voy a:
Me encontré con el siguiente texto en la página en blanco:
Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information. Lo cual no tiene sentido ya que estoy usando OAuth. Seguí el enlace y leí la página, pero no tengo ningún campo GOOGLE-APPLICATION-CREDENTIALS en ninguna parte, y nada al respecto en el tutorial.
PREGUNTA:
¿Podría reproducir los pasos y decirme si obtiene el mismo resultado?
(toma 5 minutos)
Si no, ¿qué pude haber hecho mal?
Sí, tuve el mismo error. Es molesto porque los documentos de Google Cloud Platform para su tutorial de estantería de "inicio" no mencionan esto en ninguna parte. Lo que significa que cualquier desarrollador nuevo que pruebe este tutorial verá este error.
Lea esto: https://developers.google.com/identity/protocols/application-default-credentials
Solucioné este problema ejecutando: gcloud auth application-default login
Para ejecutar esta gcloud auth application-default login Visite: https://cloud.google.com/sdk/install 1) Debe instalar sdk en su computadora 2) Eso le permitirá ejecutar el código 3) Inicie sesión a su cuenta de gmail asociada, ¡entonces está listo para comenzar!
Esto hará que inicie sesión y, después de eso, el código local utilizará esa autenticación.
Hay 2 soluciones para este problema. Una opción, como mencionaron otros, es usar gcloud auth application-default login
La segunda opción es configurar la variable de entorno GOOGLE_APPLICATION_CREDENTIALS . Debe apuntar a un archivo que defina las credenciales. Para obtener este archivo, debe seguir estos pasos:
Vaya a la página Credenciales de la consola API.
En el menú desplegable del proyecto, seleccione su proyecto.
En la página Credenciales, seleccione el menú desplegable Crear credenciales y luego seleccione Clave de cuenta de servicio.
En el menú desplegable Cuenta de servicio, seleccione una cuenta de servicio existente o cree una nueva.
Para Tipo de clave, seleccione la opción de clave JSON, luego seleccione Crear. El archivo se descarga automáticamente a su computadora.
Coloque el archivo *.json que acaba de descargar en un directorio de su elección.
Este directorio debe ser privado (no puede permitir que nadie tenga acceso a él), pero accesible para el código de su servidor web.
Establezca la variable de entorno GOOGLE_APPLICATION_CREDENTIALS en la ruta del archivo JSON descargado.
Consulte https://developers.google.com/identity/protocols/application-default-credentials para obtener más información.
Cree una clave de cuenta de servicio usando y descargue el archivo json. https://console.cloud.google.com/apis/credentials/serviceaccountkey
Agregue esto a su archivo ENV
GOOGLE_APPLICATION_CREDENTIALS = "<PATH_TO_SERVICE_ACCOUNT_JSON_FILE>"
P.ej:
GOOGLE_APPLICATION_CREDENTIALS=/Users/hello/Documents/ssh/my-10ebbbc8b3df.json