Ce document explique comment une application peut obtenir l'autorisation d'envoyer des requêtes à l'API Tag Manager.
Autoriser les requêtes
Avant de pouvoir consulter les informations de leur compte sur un site Google, les utilisateurs doivent d'abord se connecter avec un compte Google. De même, lorsque les utilisateurs accèdent pour la première fois à votre application, ils doivent l'autoriser à accéder à leurs données.
Chaque requête envoyée par votre application à l'API Tag Manager doit inclure un jeton d'autorisation. Celui-ci permet également d'identifier votre application auprès de Google.
À propos des protocoles d'autorisation
Votre application doit autoriser les requêtes via le protocole OAuth 2.0. Les autres protocoles d'autorisation ne sont pas acceptés. Si votre application utilise la fonctionnalité Se connecter avec Google, certains aspects de l'autorisation sont traités pour vous.
Autoriser des requêtes avec OAuth 2.0
Toutes les requêtes envoyées à l'API Tag Manager doivent être autorisées par un utilisateur authentifié.
Les détails de la procédure d'autorisation (ou "flux") relative à OAuth 2.0 varient légèrement selon le type d'application que vous développez. La procédure générale suivante s'applique à tous les types d'applications :
- Lorsque vous créez votre application, vous l'enregistrez dans la console d'API Google. Google fournit ensuite des informations dont vous aurez besoin ultérieurement, dont un ID client et un code secret du client.
- Activez l'API Tag Manager dans la console d'API Google. Si l'API ne figure pas dans la console, ignorez cette étape.
- Lorsque votre application doit accéder à des données utilisateur, elle demande à Google un champ d'application d'accès particulier.
- Google affiche alors un écran d'autorisation, dans lequel l'utilisateur est invité à autoriser votre application à demander certaines de ses données.
- Si l'utilisateur accepte, Google attribue à votre application un jeton d'accès temporaire.
- Votre application demande des données utilisateur en joignant le jeton d'accès à la requête.
- Dès lors que Google valide la requête et le jeton, les données demandées sont renvoyées.
Certains flux comportent des étapes supplémentaires, comme l'utilisation de jetons d'actualisation en vue de l'acquisition de nouveaux jetons d'accès. Pour en savoir plus sur les flux concernant divers types d'applications, consultez la documentation OAuth 2.0 de Google.
Voici les informations sur le champ d'application OAuth 2.0 pour l'API Tag Manager :
| Champ d'application | Signification |
|---|---|
https://www.googleapis.com/auth/tagmanager.readonly |
Affichez vos conteneurs Google Tag Manager. |
https://www.googleapis.com/auth/tagmanager.edit.containers |
Gérez vos conteneurs Google Tag Manager. |
https://www.googleapis.com/auth/tagmanager.delete.containers |
Supprimez vos conteneurs Google Tag Manager. |
https://www.googleapis.com/auth/tagmanager.edit.containerversions |
Gérez les versions de vos conteneurs Google Tag Manager. |
https://www.googleapis.com/auth/tagmanager.publish |
Publiez vos conteneurs Google Tag Manager. |
https://www.googleapis.com/auth/tagmanager.manage.users |
Gérez les autorisations des utilisateurs pour vos données Google Tag Manager. |
https://www.googleapis.com/auth/tagmanager.manage.accounts |
Gérez vos comptes Google Tag Manager. |
Pour demander l'accès via OAuth 2.0, vous avez besoin du champ d'application ainsi que des informations fournies par Google lors de l'enregistrement de l'application (l'ID client et le code secret du client, par exemple).
Premiers pas
Pour commencer à utiliser l'API Tag Manager, vous devez d'abord utiliser l'outil de configuration. Celui-ci vous guide pour créer un projet dans la console Google APIs et activer l'API.
Pour configurer un compte de service, procédez comme suit :
- Cliquez sur Créer des identifiants > Clé de compte de service.
- Choisissez de télécharger ou non la clé publique/privée du compte de service sous forme de fichier P12 standard ou de fichier JSON pouvant être chargé par une bibliothèque cliente d'API Google.
Votre nouvelle paire de clés publique et privée est générée et téléchargée sur votre ordinateur. Il s'agit de la seule copie de cette clé. Il vous incombe de la stocker en toute sécurité.
Flux OAuth 2.0 courants
Les consignes suivantes décrivent les cas d'utilisation courants pour des flux OAuth 2.0 spécifiques :
Serveur Web
Ce flux est adapté à l'accès automatisé/hors connexion/planifié au compte Google Tag Manager d'un utilisateur.
- Mise à jour automatique des informations Tag Manager à partir d'un serveur.
Côté client
Idéal lorsque les utilisateurs interagissent directement avec l'application pour accéder à leur compte Google Tag Manager dans un navigateur. Ce flux élimine le besoin de capacités côté serveur, mais il rend également la création de rapports automatisés/hors connexion/planifiés peu pratique.
- Un outil de configuration basé sur un navigateur personnalisé.
Applications installées
Pour les applications distribuées sous forme de package et installées par l'utilisateur. Il exige que l'application ou l'utilisateur aient accès à un navigateur pour effectuer le processus d'authentification.
- Un widget de bureau sur un PC ou un Mac.
- Module complémentaire pour un système de gestion de contenu. L'avantage de ce flux par rapport au serveur Web ou au côté client est qu'un seul projet de la console API peut être utilisé pour votre application. Cela permet une installation plus simple pour les utilisateurs.
Service Accounts
Utile pour l'accès automatisé/hors connexion/programmé à votre propre compte Google Tag Manager. Par exemple, pour créer un outil personnalisé permettant de surveiller votre propre compte Google Tag Manager et de le partager avec d'autres utilisateurs.
Dépannage
Si votre access_token a expiré ou si vous utilisez le mauvais champ d'application pour un appel d'API spécifique, vous recevrez un code d'état 401 dans la réponse.
Si l'utilisateur autorisé n'a pas accès au compte ou au conteneur Google Tag Manager, vous recevrez un code d'état 403 dans la réponse. Assurez-vous d'être autorisé avec le bon utilisateur et d'avoir reçu les autorisations nécessaires pour accéder au compte ou au conteneur Tag Manager.
OAuth 2.0 Playground
Le bac à sable OAuth 2.0 vous permet de parcourir l'intégralité du flux d'autorisation via une interface Web. L'outil affiche également tous les en-têtes de requête HTTP requis pour effectuer une requête autorisée. Si vous ne parvenez pas à faire fonctionner l'autorisation dans votre propre application, essayez de la faire fonctionner via OAuth 2.0 Playground. Vous pouvez ensuite comparer les en-têtes et la requête HTTP de l'atelier de programmation à ceux envoyés par votre application. Cette vérification est un moyen simple de s'assurer que vous mettez correctement en forme vos demandes.
Autorisation non valide
Si vous recevez une réponse d'erreur invalid_grant lorsque vous essayez d'utiliser un jeton d'actualisation, l'erreur peut être due à l'une ou aux deux causes suivantes :
- L'horloge de votre serveur n'est pas synchronisée avec NTP.
- Vous avez dépassé la limite de jetons d'actualisation.
Les applications peuvent demander plusieurs jetons d'actualisation pour accéder à un seul compte Google Tag Manager. Par exemple, cela est utile dans les situations où un utilisateur souhaite installer une application sur plusieurs machines et accéder au même compte Google Tag Manager. Dans ce cas, deux jetons d'actualisation sont nécessaires, un pour chaque installation. Lorsque le nombre de jetons d'actualisation dépasse la limite, les jetons les plus anciens deviennent invalides. Si l'application tente d'utiliser un jeton d'actualisation invalidé, une réponse d'erreurinvalid_grantest renvoyée. Chaque combinaison unique d'ID client/compte peut comporter jusqu'à 25 jetons d'actualisation. (Notez que cette limite est susceptible de changer.) Si l'application continue de demander des jetons d'actualisation pour la même combinaison ID client/compte, une fois le 26e jeton émis, le 1er jeton d'actualisation émis devient non valide. Le 27e jeton d'actualisation demandé invalide le 2e jeton émis, et ainsi de suite.