Para que los usuarios o las aplicaciones puedan usar la API Admin de App Engine, tú, comoGoogle Cloud propietario del proyecto, debes habilitar primero la API en tu proyecto y, a continuación, crear credenciales que los usuarios o las aplicaciones puedan usar para autorizar solicitudes HTTP.
Por ejemplo, un propietario debe crear primero un proyecto inicial Google Cloud y, a continuación, crear credenciales en ese proyecto para que cualquier usuario pueda enviar solicitudes HTTP a la API Admin. Una vez que el propietario haya configurado el proyecto inicial, este se podrá usar con fines administrativos para crear y gestionar otros recursos de forma programática. Por ejemplo:
- Crear otros Google Cloud proyectos.
- Crear aplicaciones de App Engine para todos los proyectos recién creados.
- Desplegar versiones de la aplicación en aplicaciones de App Engine recién creadas.
- Gestionar recursos en todas las versiones que hayas implementado.
Antes de empezar
Para completar la siguiente tarea, debes ser propietario delGoogle Cloud proyecto en el que quieras habilitar la API Admin para que los usuarios y las aplicaciones puedan acceder.
Configurar el proyecto y crear credenciales
Para configurar tu proyecto de Google Cloud y crear credenciales, sigue estos pasos:
Habilita las APIs App Engine Admin y Cloud Storage en tuGoogle Cloud proyecto:
Crea credenciales que los usuarios y las aplicaciones utilicen para acceder a la API Admin de tu proyecto.
Para crear credenciales, consulta la guía de autenticación de Google Cloud Platform y, a continuación, elige el flujo de autorización de OAuth 2.0 que cumpla los requisitos de tu aplicación.
Ejemplos
Para mostrar un flujo de autenticación, en los ejemplos que se muestran a continuación se usa el flujo de OAuth 2.0 del lado del cliente para obtener un token. El token se usa para autorizar solicitudes a la API Admin mediante la herramienta de línea de comandos cURL para desplegar 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ícita, requiere que el usuario autorice a la aplicación cliente para acceder a la API Admin en su nombre. El token de acceso que se devuelve es válido durante aproximadamente 60 minutos o, por lo general, mientras el usuario esté activo en tu aplicación.
.Solicitud HTTP
La siguiente URL usa un ID de cliente que se creó en la Google Cloud consola para solicitar un token de acceso y, a continuación, redirigir al usuario a un URI autorizado donde tu aplicación 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 Google Cloud consola.[MY_REDIRECT_URI]
es el campo URIs de redirección autorizados correspondiente a la misma credencial en la Google Cloud consola. Si no se especifica ningún URI de redirección, debes especificar un URI de confianza, por ejemplo,https://www.google.com
. El URI de redirección define dónde se envía la respuesta HTTP. En el entorno de producción, debes especificar el endpoint de autenticación de tu aplicación, que gestiona las respuestas del servidor de OAuth 2.0. Para obtener más información, consulta el artículo sobre cómo se usa OAuth 2.0 en las aplicaciones de servidor web.
Respuesta HTTP
Cuando la aplicación usa la URL para solicitar autorización, el token de acceso se devuelve 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 devuelto que has solicitado.
Una vez que hayas obtenido un token de acceso, podrás usarlo para acceder a la API Admin. Por ejemplo, el endpoint de autenticación de tu aplicación puede extraer el token de acceso de la respuesta de forma programática. 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 hacer una solicitud HTTP POST
. Este comando cURL despliega los recursos definidos en el archivo de configuración app.json
en la versión v1
del servicio default
de 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