Accéder à l'API Admin

Pour que les utilisateurs ou les applications puissent utiliser l'API Admin de Google App Engine, vous devez, en tant que propriétaire de projet Google Cloud, activer d'abord l'API dans votre projet, puis créer des identifiants que les utilisateurs ou les applications pourront utiliser pour autoriser les requêtes HTTP.

Par exemple, un propriétaire doit d'abord créer un projet Google Cloud initial, puis créer les identifiants dans ce projet pour que des requêtes HTTP puissent être envoyées à l'API Admin. Une fois que le propriétaire a configuré le projet initial, celui-ci peut être utilisé à des fins administratives pour créer et gérer de manière automatisée d'autres ressources ; par exemple :

  • Créer d'autres projets Google Cloud
  • Créer des applications App Engine pour tous les projets créés
  • Déployer des versions d'application dans les applications App Engine récemment créées
  • Gérer les ressources dans toutes les versions que vous avez déployées

Avant de commencer

Pour effectuer la tâche suivante, vous devez être le propriétaire du projet Google Cloud dans lequel vous souhaitez activer l'API Admin pour les utilisateurs et les applications.

Configurer votre projet et créer des identifiants

Pour configurer votre projet Google Cloud et créer des identifiants, procédez comme suit :

  1. Activez à la fois l'API App Engine Admin et l'API Cloud Storage dans votre projet Google Cloud :

    Activer les deux API

  2. Créez des identifiants que les utilisateurs et les applications utiliseront pour accéder à l'API Admin dans votre projet.

    Pour créer des identifiants, consultez le Guide d'authentification de Google Cloud Platform, puis choisissez le flux d'autorisation OAuth 2.0 répondant aux exigences de votre application.

Exemples

Pour illustrer un flux d'authentification, les exemples ci-dessous utilisent le flux OAuth 2.0 côté client pour obtenir un jeton. Le jeton permet d'autoriser les requêtes envoyées à l'API Admin à l'aide de l'outil de ligne de commande cURL pour déployer l'exemple d'application dans l'application App Engine du projet [MY_PROJECT_ID].

Exemple d'authentification

Dans cet exemple, le flux d'autorisation côté client, appelé flux d'attribution implicite, exige que l'utilisateur autorise l'application cliente à accéder à l'API Admin pour le compte de l'utilisateur. Le jeton d'accès renvoyé est valable pendant environ 60 minutes ou généralement tant que l'utilisateur est actif dans l'application.

Conseil : Pour en savoir plus sur le flux d'attribution implicite et la structure de l'URL ci-dessous, consultez l'article Utiliser OAuth 2.0 pour les applications Web côté client.

Requête HTTP

L'URL suivante utilise un ID client créé dans Google Cloud Console pour demander un jeton d'accès, puis rediriger l'utilisateur vers un URI autorisé où votre application reçoit le jeton :

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]

Où :

  • [MY_CLIENT_ID] est un ID client provenant de l'un de vos identifiants dans Cloud Console.
  • [MY_REDIRECT_URI] est l'URI de redirection autorisé correspondant généré à partir des mêmes identifiants dans Cloud Console. Si aucun URI de redirection n'est spécifié, vous devez spécifier un URI approuvé, par exemple https://www.google.com. L'URI de redirection définit la destination d'envoi de la réponse HTTP. Pour la production, vous devez spécifier le point de terminaison de l'authentification de votre application, qui gère les réponses du serveur OAuth 2.0. Pour plus d'informations, consultez l'article Utiliser OAuth 2.0 pour les applications de serveur Web.

Réponse HTTP

Lorsque l'application utilise l'URL pour demander une autorisation, le jeton d'accès est renvoyé dans une réponse, par exemple :

https://www.google.com/#access_token=[MY_ACCESS_TOKEN]&
  token_type=Bearer&
  expires_in=3600

[MY_ACCESS_TOKEN] est le jeton d'accès renvoyé que vous avez demandé.

Une fois que vous avez obtenu le jeton d'accès, vous pouvez l'utiliser pour accéder à l'API Admin. Par exemple, le point de terminaison de l'authentification de votre application peut extraire le jeton d'accès de manière automatisée de la réponse. Consultez l'exemple suivant pour savoir comment utiliser manuellement votre jeton dans une commande cURL.

Exemple de requête HTTP utilisant cURL

La commande cURL suivante montre comment utiliser votre jeton d'accès [MY_ACCESS_TOKEN] pour effectuer une requête HTTP POST. Cette commande cURL déploie les ressources définies dans le fichier de configuration app.json sur la version v1 du service default dans l'application du projet 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

Étape suivante