Antes de que los usuarios o las aplicaciones puedan usar la API de App Engine Admin, como propietario de un proyecto de Google Cloud, primero debes habilitar la API en tu proyecto y, luego, crear las credenciales que los usuarios o las aplicaciones pueden usar para autorizar solicitudes HTTP.
Por ejemplo, un propietario primero debe crear un proyecto inicial de Google Cloud y, luego, crear credenciales en ese proyecto para que cualquier persona pueda enviar solicitudes HTTP a la API de Administrador. Una vez que el propietario establece y configura el proyecto inicial, ese proyecto se puede usar con fines administrativos, para crear y administrar otros recursos de manera programática, por ejemplo:
- Crear otros proyectos de Google Cloud.
- Crear aplicaciones de App Engine para todos los proyectos recién creados.
- Implementar versiones de aplicaciones en aplicaciones de App Engine recién creadas.
- Administrar recursos en todas las versiones que implementaste.
Antes de comenzar
Para completar la siguiente tarea, debes ser propietario del proyecto de Google Cloud en el que deseas habilitar la API de Administrador para que accedan los usuarios y las aplicaciones.
Configura tu proyecto y crea credenciales
Para configurar tu proyecto de Google Cloud y crear credenciales, sigue estos pasos:
Habilita la API de App Engine Admin y la API de Cloud Storage en tu proyecto de Google Cloud:
Crea credenciales que los usuarios y las aplicaciones utilicen para acceder a la API de Administrador en tu proyecto.
Para crear credenciales, revisa la Guía de autenticación de Google Cloud Platform y, luego, elige el flujo de autorización de OAuth 2.0 que cumpla con los requisitos de tu aplicación.
Ejemplos
Para demostrar un flujo de autenticación, los siguientes ejemplos usan el flujo OAuth 2.0 del lado del cliente para obtener un token. El token se usa para autorizar solicitudes a la API de Administrador mediante la herramienta de línea de comandos cURL a fin de implementar la aplicación de ejemplo en la aplicación de App Engine del proyecto [MY_PROJECT_ID]
.
Ejemplo de autenticación
En este ejemplo, el flujo de autorización del lado del cliente, conocido como flujo de concesión implícito, requiere que el usuario autorice a la aplicación del cliente para acceder a la API de Administrador en nombre del usuario. El token de acceso que se muestra es válido durante aproximadamente 60 minutos, por lo general, mientras el usuario está activo en su aplicación.
Solicitud HTTP
La siguiente URL usa un ID de cliente que se creó en la consola de Google Cloud para solicitar un token de acceso y, luego, redireccionar al usuario a un URI autorizado en el que tu app recibe el token:
https://accounts.google.com/o/oauth2/v2/auth?
response_type=token&
client_id=[MY_CLIENT_ID].apps.googleusercontent.com&
scope=https://www.googleapis.com/auth/cloud-platform&
redirect_uri=[MY_REDIRECT_URI]
Donde:
[MY_CLIENT_ID]
es un ID de cliente de una de tus credenciales en la consola de Google Cloud.[MY_REDIRECT_URI]
es el URI de redireccionamiento autorizado correspondiente de la misma credencial en la consola de Google Cloud. Si no se especifica un URI de redireccionamiento, debes especificar un URI de confianza, por ejemplo,https://www.google.com
. El URI de redireccionamiento define a dónde se envía la respuesta HTTP. Para la producción, debes especificar el extremo auth de tu aplicación, que maneja las respuestas del servidor OAuth 2.0. A fin de obtener más información, consulta Usa OAuth 2.0 para aplicaciones de servidor web.
Respuesta HTTP
Cuando la aplicación usa la URL para solicitar autorización, el token de acceso se muestra en una respuesta, por ejemplo:
https://www.google.com/#access_token=[MY_ACCESS_TOKEN]&
token_type=Bearer&
expires_in=3600
Donde [MY_ACCESS_TOKEN]
es el token de acceso que se muestra y que solicitaste.
Después de obtener un token de acceso, puedes usarlo para acceder a la API de Administrador. Por ejemplo, el extremo auth de tu aplicación puede extraer de manera programática el token de acceso de la respuesta. Consulta el siguiente ejemplo para saber cómo usar manualmente tu token en un comando cURL.
Ejemplo de solicitud HTTP con cURL
El siguiente comando cURL muestra cómo puedes usar tu token de acceso [MY_ACCESS_TOKEN]
para realizar una solicitud HTTP POST
. Con este comando cURL, se implementan los recursos definidos en el archivo de configuración app.json
en la versión v1
del servicio default
en la aplicación del proyecto MY_PROJECT_ID
.
curl -X POST -T "app.json" -H "Content-Type: application/json" -H "Authorization: Bearer [MY_ACCESS_TOKEN]" https://appengine.googleapis.com/v1/apps/[MY_PROJECT_ID]/services/default/versions