API Hello Analytics Reporting version 4 ; guide de démarrage rapide pour les applications Python

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Ce tutoriel vous explique comment accéder à l'API Reporting v4.

1. Activer l'API

Pour commencer à utiliser l'API Reporting v4, vous devez d'abord utiliser l'outil de configuration. Celui-ci vous explique comment créer un projet dans la console Google APIs, activer l'API et créer des identifiants.

Remarque: Pour créer un ID client Web ou un client d'application installée, vous devez définir un nom de produit sur l'écran de consentement. Si vous ne l'avez pas déjà fait, vous serez invité à Configurer l'écran de consentement.

Créer des identifiants

  • Ouvrez la page Identifiants.
  • Cliquez sur Créer des identifiants, puis sélectionnez ID client OAuth.
  • Dans le champ Type d'application, sélectionnez Autre.
  • Nommez le client quickstart et cliquez sur Create (Créer).

Sur la page Identifiants, cliquez sur l'ID client que vous venez de créer, puis sur Download JSON (Télécharger JSON) et enregistrez-le sous le nom client_secrets.json. Vous en aurez besoin plus tard dans le tutoriel.

2. Installer la bibliothèque cliente

L'utilisation de pip conjointement avec venv est la méthode recommandée pour installer des 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 devrez 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 client_secrets.json précédemment téléchargé dans le même répertoire que l'exemple de code.
  3. Remplacez la valeur de VIEW_ID. Vous pouvez rechercher un ID de vue à l'aide de l'explorateur de comptes.
"""Hello Analytics Reporting API V4."""

import argparse

from apiclient.discovery import build
import httplib2
from oauth2client import client
from oauth2client import file
from oauth2client import tools

SCOPES = ['https://www.googleapis.com/auth/analytics.readonly']
CLIENT_SECRETS_PATH = 'client_secrets.json' # Path to client_secrets.json file.
VIEW_ID = '<REPLACE_WITH_VIEW_ID>'


def initialize_analyticsreporting():
  """Initializes the analyticsreporting service object.

  Returns:
    analytics an authorized analyticsreporting service object.
  """
  # Parse command-line arguments.
  parser = argparse.ArgumentParser(
      formatter_class=argparse.RawDescriptionHelpFormatter,
      parents=[tools.argparser])
  flags = parser.parse_args([])

  # Set up a Flow object to be used if we need to authenticate.
  flow = client.flow_from_clientsecrets(
      CLIENT_SECRETS_PATH, scope=SCOPES,
      message=tools.message_if_missing(CLIENT_SECRETS_PATH))

  # Prepare credentials, and authorize HTTP object with them.
  # If the credentials don't exist or are invalid run through the native client
  # flow. The Storage object will ensure that if successful the good
  # credentials will get written back to a file.
  storage = file.Storage('analyticsreporting.dat')
  credentials = storage.get()
  if credentials is None or credentials.invalid:
    credentials = tools.run_flow(flow, storage, flags)
  http = credentials.authorize(http=httplib2.Http())

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

  return analytics

def get_report(analytics):
  # Use the Analytics Service Object to query the Analytics Reporting API V4.
  return analytics.reports().batchGet(
      body={
        'reportRequests': [
        {
          'viewId': VIEW_ID,
          'dateRanges': [{'startDate': '7daysAgo', 'endDate': 'today'}],
          'metrics': [{'expression': 'ga:sessions'}]
        }]
      }
  ).execute()


def print_response(response):
  """Parses and prints the 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', [])
    rows = report.get('data', {}).get('rows', [])

    for row in 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 en utilisant:

python HelloAnalytics.py
  • L'application charge la page d'autorisation dans un navigateur.
  • Si vous n'êtes pas déjà connecté à votre compte Google, vous serez invité à le faire. Si vous êtes connecté à plusieurs comptes Google, vous êtes invité à sélectionner le compte à utiliser pour l'autorisation.

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: &module_six_moves_urllib_parse' l'objet ne comporte aucun attribut 'urlparse'

Cette erreur peut se produire dans Mac OSX, où l'installation par défaut du module "six" (dépendance de cette bibliothèque) est chargée avant celle de pip. Pour résoudre le 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:" | couper -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 votre fichier ~/.bashrc dans n'importe quelle fenêtre de terminal ouverte à l'aide de la commande suivante:

    source ~/.bashrc