API Core Reporting – Autorisation

Ce guide explique comment une application autorise l'envoi de requêtes à l'API Core Reporting.

Autoriser les requêtes

Pour que les utilisateurs puissent consulter les informations de leur compte sur le site Web Google Analytics, ils doivent d'abord se connecter à leur compte Google. De même, la première fois que les utilisateurs accèdent à votre application, ils doivent l'autoriser à accéder à leurs données.

Chaque demande envoyée par votre application à l'API Analytics 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 demandes adressées à l'API Analytics doivent être autorisées par un utilisateur authentifié.

Les détails de la procédure d'autorisation (ou "flux") concernant 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 :

  1. 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.
  2. Activez l'API Analytics dans la console Google APIs. Si l'API ne figure pas dans la console, ignorez cette étape.
  3. Lorsque votre application doit accéder à des données utilisateur, elle demande à Google un champ d'application d'accès particulier.
  4. Google affiche alors un écran d'autorisation, dans lequel l'utilisateur est invité à autoriser votre application à demander certaines de ses données.
  5. Si l'utilisateur accepte, Google attribue à votre application un jeton d'accès temporaire.
  6. Votre application demande des données utilisateur en joignant le jeton d'accès à la requête.
  7. Dès lors que Google valide la requête et le jeton, les données demandées sont renvoyées.

Certains flux comportent d'autres étapes, comme l'utilisation de jetons d'actualisation afin d'obtenir 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 d'OAuth 2.0 pour l'API Analytics:

Définition du champ d'application Signification
https://www.googleapis.com/auth/analytics.readonly Accès en lecture seule à l'API Analytics.

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).

Conseil : Les bibliothèques clientes des API Google peuvent gérer une partie de la procédure d'autorisation à votre place. Elles sont proposées pour une grande variété de langages de programmation. Pour en savoir plus, explorez les bibliothèques clientes et les exemples de code présentés sur la page Installer les bibliothèques clientes.

Flux OAuth 2.0 courants

Voici la liste des cas d'utilisation courants pour des flux OAuth 2.0 spécifiques:

Serveur Web

Ce flux est adapté pour un accès automatisé, hors connexion ou planifié aux données Google Analytics d'un utilisateur.

Exemple :

  • Mise à jour automatique des tableaux de bord des utilisateurs avec les dernières données Google Analytics.

Côté client

Ce flux est idéal pour les applications lorsque les utilisateurs interagissent directement avec l'application afin d'accéder à leurs données Google Analytics dans un navigateur. Elle élimine le besoin de fonctionnalités côté serveur, mais elle rend difficile la création de rapports automatisés, hors connexion ou planifiés.

Exemple :

Applications installées

Cette procédure concerne les applications distribuées en tant que package et installées par l'utilisateur. Ce flux nécessite que l'application ou l'utilisateur ait accès à un navigateur pour effectuer le flux d'authentification.

Exemples :

  • Un widget pour le bureau sur PC ou Mac.
  • Plug-in pour un système de gestion de contenu : l'avantage de ce flux par rapport à un serveur Web ou côté client est qu'un seul projet de console d'API peut être utilisé pour votre application. Les rapports consolidés et l'installation sont ainsi simplifiés pour les utilisateurs.

Service Accounts

Les comptes de service sont utiles pour accéder de manière automatisée, hors connexion ou planifiée aux données Google Analytics de votre propre compte. Par exemple, vous pouvez créer un tableau de bord en direct avec vos propres données Google Analytics et les partager avec d'autres utilisateurs.

Pour commencer à utiliser l'API Analytics, vous devez d'abord utiliser l'outil de configuration, qui vous guide tout au long de la création d'un projet dans la console Google APIs, de l'activation de l'API et de la création d'identifiants.

Pour configurer un nouveau compte de service, procédez comme suit:

  1. Cliquez sur Créer des identifiants > Clé de compte de service.
  2. Choisissez de télécharger 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 de l'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 le stocker en toute sécurité.

Dépannage

L'autorisation échoue dans les cas suivants:

  • Vous recevrez un code d'état 401 si votre access_token a expiré ou si vous utilisez le mauvais champ d'application pour l'API.

  • Si l'utilisateur autorisé n'a pas accès à la vue (profil), vous recevrez un code d'état 403. Vérifiez que vous disposez des autorisations nécessaires avec l'utilisateur concerné et que celui-ci dispose bien de la vue (profil) que vous avez sélectionnée.

OAuth 2.0 Playground

Cet outil vous permet de suivre l'intégralité du flux d'autorisation via une interface Web. L'outil affiche également tous les en-têtes de requête HTTP nécessaires pour effectuer une requête autorisée. Si vous ne parvenez pas à obtenir l'autorisation nécessaire pour utiliser votre propre application, essayez d'utiliser OAuth 2.0 Playground. Vous pouvez ensuite comparer les en-têtes HTTP et les requêtes issues de Playground à ce que votre application envoie à Google Analytics. Cette vérification vous permet de vous assurer facilement que le format de vos requêtes est correct.

Autorisation non valide

Lorsque vous essayez d'utiliser un jeton d'actualisation, la commande suivante renvoie une erreur invalid_grant:

Les applications peuvent demander plusieurs jetons d'actualisation pour accéder à un même compte Google Analytics.

Par exemple, si un utilisateur souhaite installer une application sur plusieurs machines et accéder au même compte Google Analytics, un jeton distinct est alors nécessaire pour chaque machine. Lorsque le nombre de jetons d'actualisation dépasse la limite, les jetons plus anciens ne sont plus valides. Si l'application tente d'utiliser un jeton d'actualisation non valide, une erreur invalid_grant est renvoyée.

La limite pour chaque paire unique de client OAuth 2.0 et de compte Google Analytics est de 25 jetons d'actualisation. Si l'application continue de demander des jetons d'actualisation pour la même paire client/compte, une fois le 26e jeton émis, le premier jeton d'actualisation précédemment émis ne sera plus valide. Le 27ème jeton d'actualisation demandé invalidera le 2ème jeton précédemment émis et ainsi de suite.