Google uniformise les API REST de ses services : Authentification par AOuth2, format des données JSON, API globale découpée en différents sous-services (les scopes ou "étendues d'API" en français), etc. L'API de gestion d'un domaine Google Apps hébergé chez Google est donc concernée par cette uniformisation. La sous-partie de l'API générale dédiée à la gestion des comptes, des groupes, des audits, etc est connue sous le nom Admin SDK : https://developers.google.com/admin-sdk/?hl=fr Admin SDK comprend des scopes différents selon que l'on doit gérer les utilisateurs et les groupes (directory : https://developers.google.com/admin-sdk/directory/v1/guides/manage-users?hl=fr ), des rapports ou des audits d'usage (report : https://developers.google.com/admin-sdk/reports/v1/guides/manage-audit-drive?hl=fr ) ou encore que l'on souhaite procéder à la migration des mails ou des groupes (email-migration : https://developers.google.com/admin-sdk/email-migration/?hl=fr ou groupe-migration) Chaque scope est identifié par une URL propre. Exemple pour la gestion des utilisateurs : https://www.googleapis.com/auth/admin.directory.user Les requêtes REST se feront donc, après authentification OAuth, sur des chemins construits sur cette URL de base. Exemple de création d'un utilisateur : POST https://www.googleapis.com/admin/directory/v1/users en joignant dans le corps du POST des données structurées en JSON au format attendu par l'API Si vous souhaitez donc pouvoir scripter des actions à réaliser sur votre domaine Google Apps en tant qu'administrateur (c'est à dire sans le consentement explicite de l'utilisateur dont vous allez manipuler les données), il est nécessaire au préalable d'activer l'API choisie et de procéder à une délégation d'autorité d'un compte administrateur du domaine à un compte de service (compte applicatif utilisé par votre script) : https://developers.google.com/admin-sdk/directory/v1/guides/delegation#create_the_service_account_and_its_credentialsCette démarche requiert quelques étapes : Création du compte de serviceLe compte de service est un compte qui identifiera votre application (script de création de comptes par exemple) via OAuth2.
Votre compte de service est alors créé et est identifié par les informations suivantes que vous devrez associer à votre script ou à votre domaine :
Délégation d'autorité au compte de service et activation des scopesL'étape suivante consiste maintenant à paramétrer notre domaine Google Apps pour autoriser le compte de service créé à accéder à ses ressources (utilisateurs, groupes, etc).On suppose à ce point que vous aviez déjà autorisé l'API pour votre domaine.
Un formulaire de saisie s'affiche alors.
Une ligne d'autorisation d'un nouveau compte de service apparaît alors dans le formulaire. Votre compte de client a désormais le droit d'utiliser l'API sur les scopes sélectionnés de votre domaine. |