Présentation de l'API Analytics Reporting v4 ; guide de démarrage rapide de Python pour les comptes de service

Ce tutoriel décrit les étapes à suivre pour accéder à l'API Reporting version 4 d'Analytics.

1. Activer l'API

Pour commencer à utiliser l'API Analytics Reporting v4, 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.

Créer des identifiants

  1. Ouvrez la page Comptes de service. Si vous y êtes invité, sélectionnez un projet.
  2. Cliquez sur Créer un compte de service, puis saisissez un nom et une description pour ce compte. Vous pouvez utiliser l'ID de compte de service par défaut ou en choisir un autre, unique. Une fois que vous avez terminé, cliquez sur Créer.
  3. La section Autorisations associées au compte de service (facultatif) qui suit n'est pas requise. Cliquez sur Continuer.
  4. Sur l'écran Autoriser les utilisateurs à accéder à ce compte de service, accédez à la section Créer une clé. Cliquez sur Créer une clé.
  5. Dans le panneau latéral qui s'affiche, sélectionnez le format de la clé. Nous vous recommandons de choisir le format JSON.
  6. Cliquez sur Créer. La 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 dont vous disposez. Découvrez comment stocker cette clé en toute sécurité.
  7. Cliquez sur Fermer dans la boîte de dialogue Clé privée enregistrée sur votre ordinateur, puis cliquez sur OK pour afficher le tableau des comptes de service.

Ajouter un compte de service au compte Google Analytics

L'adresse e-mail du nouveau compte de service est semblable à celle-ci:

quickstart@PROJECT-ID.iam.gserviceaccount.com

Utilisez cette adresse e-mail pour ajouter un utilisateur à la vue Google Analytics à laquelle vous souhaitez accéder via l'API. Pour ce tutoriel, seules les autorisations Lire et analyser sont nécessaires.

2. Installer la bibliothèque cliente

Il est recommandé d'utiliser pip avec venv pour installer les packages Python : sudo -s apt-get install python3-venv python3 -m venv analytics-quickstart source analytics-quickstart/bin/activate pip install --upgrade google-api-python-client pip install --upgrade oauth2client

3. Configurer l'exemple

Vous devez créer un seul fichier nommé HelloAnalytics.py, qui contiendra l'exemple de code fourni.

  1. Copiez ou téléchargez le code source suivant dans HelloAnalytics.py.
  2. Déplacez le fichier client_secrets.json précédemment téléchargé vers le même répertoire que l'exemple de code.
  3. Remplacez la valeur de KEY_FILE_LOCATION par le chemin d'accès approprié au fichier client_secrets.json téléchargé.
  4. Remplacez la valeur de VIEW_ID. Pour trouver un ID de vue, vous pouvez utiliser l'explorateur de compte.
"""Hello Analytics Reporting API V4."""

from apiclient.discovery import build
from oauth2client.service_account import ServiceAccountCredentials


SCOPES = ['https://www.googleapis.com/auth/analytics.readonly']
KEY_FILE_LOCATION = '<REPLACE_WITH_JSON_FILE>'
VIEW_ID = '<REPLACE_WITH_VIEW_ID>'


def initialize_analyticsreporting():
  """Initializes an Analytics Reporting API V4 service object.

  Returns:
    An authorized Analytics Reporting API V4 service object.
  """
  credentials = ServiceAccountCredentials.from_json_keyfile_name(
      KEY_FILE_LOCATION, SCOPES)

  # Build the service object.
  analytics = build('analyticsreporting', 'v4', credentials=credentials)

  return analytics


def get_report(analytics):
  """Queries the Analytics Reporting API V4.

  Args:
    analytics: An authorized Analytics Reporting API V4 service object.
  Returns:
    The Analytics Reporting API V4 response.
  """
  return analytics.reports().batchGet(
      body={
        'reportRequests': [
        {
          'viewId': VIEW_ID,
          'dateRanges': [{'startDate': '7daysAgo', 'endDate': 'today'}],
          'metrics': [{'expression': 'ga:sessions'}],
          'dimensions': [{'name': 'ga:country'}]
        }]
      }
  ).execute()


def print_response(response):
  """Parses and prints the Analytics Reporting API V4 response.

  Args:
    response: An Analytics Reporting API V4 response.
  """
  for report in response.get('reports', []):
    columnHeader = report.get('columnHeader', {})
    dimensionHeaders = columnHeader.get('dimensions', [])
    metricHeaders = columnHeader.get('metricHeader', {}).get('metricHeaderEntries', [])

    for row in report.get('data', {}).get('rows', []):
      dimensions = row.get('dimensions', [])
      dateRangeValues = row.get('metrics', [])

      for header, dimension in zip(dimensionHeaders, dimensions):
        print(header + ': ', dimension)

      for i, values in enumerate(dateRangeValues):
        print('Date range:', str(i))
        for metricHeader, value in zip(metricHeaders, values.get('values')):
          print(metricHeader.get('name') + ':', value)


def main():
  analytics = initialize_analyticsreporting()
  response = get_report(analytics)
  print_response(response)

if __name__ == '__main__':
  main()

4. Exécuter l'exemple

Exécutez l'exemple à l'aide de la commande suivante:

python HelloAnalytics.py

Une fois ces étapes terminées, l'échantillon génère le nombre de sessions des sept derniers jours pour la vue donnée.

Dépannage

Erreur d'attribut : l'objet "Module_six_moves_urllib_parse" ne comporte aucun attribut "urlparse"

Cette erreur peut se produire sous Mac OSX, où l'installation par défaut du module "six" (une dépendance de cette bibliothèque) est chargée avant celle du module installé par pip. Pour résoudre ce problème, ajoutez l'emplacement d'installation de pip à la variable d'environnement système PYTHONPATH:

  • Déterminez l'emplacement d'installation de pip à l'aide de la commande suivante:

    pip show six | grep "Location:" | cut -d " " -f2

  • Ajoutez la ligne suivante à votre fichier ~/.bashrc, en remplaçant &lt;pip_install_path&gt; par la valeur déterminée ci-dessus:

    export PYTHONPATH=$PYTHONPATH:<pip_install_path>

  • Actualisez le fichier ~/.bashrc dans n'importe quelle fenêtre de terminal ouverte à l'aide de la commande suivante:

    source ~/.bashrc