API Hello Analytics: 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 à un compte Google Analytics, interroger les API Analytics, gérer les réponses des API et générer les résultats. Les API Core Reporting API v3.0, Management API v3.0 et OAuth2.0 sont utilisées dans ce tutoriel.

Étape 1: Activez l'API Analytics

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

Créer un ID client

Sur la page "Identifiants", procédez comme suit:

  1. Cliquez sur Créer des identifiants, puis sélectionnez ID client OAuth.
  2. Sélectionnez Other pour APPLICATION TYPE.
  3. Attribuez un nom aux identifiants.
  4. Cliquez sur Créer.

Sélectionnez les identifiants que vous venez de créer, puis cliquez sur Télécharger au format JSON. Enregistrez le fichier téléchargé sous le nom client_secrets.json. Vous en aurez besoin plus tard dans le tutoriel.

Étape 2: Installez la bibliothèque cliente Google

Vous pouvez soit utiliser un gestionnaire de packages, soit télécharger et installer manuellement la bibliothèque cliente Python:

pip

Utilisez pip, l'outil recommandé pour installer des packages Python:

sudo pip install --upgrade google-api-python-client

Outils de configuration

Utilisez l'outil easy_install inclus dans le package setuptools:

sudo easy_install --upgrade google-api-python-client

Installation manuelle

Téléchargez la dernière bibliothèque cliente pour Python, décompressez son code et exécutez la commande suivante:

sudo python setup.py install

Vous devrez peut-être appeler la commande avec les droits de super-utilisateur (sudo) pour l'installer sur le système Python.

Étape 3: Configurez 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 le client_secrets.json précédemment téléchargé dans le même répertoire que l'exemple de code.
"""A simple example of how to access the Google Analytics API."""

import argparse

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


def get_service(api_name, api_version, scope, client_secrets_path):
  """Get a service that communicates to a Google API.

  Args:
    api_name: string The name of the api to connect to.
    api_version: string The api version to connect to.
    scope: A list of strings representing the auth scopes to authorize for the
      connection.
    client_secrets_path: string A path to a valid client secrets file.

  Returns:
    A service that is connected to the specified API.
  """
  # 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=scope,
      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(api_name + '.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.
  service = build(api_name, api_version, http=http)

  return service


def get_first_profile_id(service):
  # Use the Analytics service object to get the first profile id.

  # Get a list of all Google Analytics accounts for the authorized user.
  accounts = service.management().accounts().list().execute()

  if accounts.get('items'):
    # Get the first Google Analytics account.
    account = accounts.get('items')[0].get('id')

    # Get a list of all the properties for the first account.
    properties = service.management().webproperties().list(
        accountId=account).execute()

    if properties.get('items'):
      # Get the first property id.
      property = properties.get('items')[0].get('id')

      # Get a list of all views (profiles) for the first property.
      profiles = service.management().profiles().list(
          accountId=account,
          webPropertyId=property).execute()

      if profiles.get('items'):
        # return the first view (profile) id.
        return profiles.get('items')[0].get('id')

  return None


def get_results(service, profile_id):
  # Use the Analytics Service Object to query the Core Reporting API
  # for the number of sessions in the past seven days.
  return service.data().ga().get(
      ids='ga:' + profile_id,
      start_date='7daysAgo',
      end_date='today',
      metrics='ga:sessions').execute()


def print_results(results):
  # Print data nicely for the user.
  if results:
    print 'View (Profile): %s' % results.get('profileInfo').get('profileName')
    print 'Total Sessions: %s' % results.get('rows')[0][0]

  else:
    print 'No results found'


def main():
  # Define the auth scopes to request.
  scope = ['https://www.googleapis.com/auth/analytics.readonly']

  # Authenticate and construct service.
  service = get_service('analytics', 'v3', scope, 'client_secrets.json')
  profile = get_first_profile_id(service)
  print_results(get_results(service, profile))


if __name__ == '__main__':
  main()

Étape 4: Exécuter l'exemple

Une fois l'API Analytics activée, installez la bibliothèque cliente des API Google pour Python, puis configurez l'exemple de code source que l'exemple est prêt à exécuter.

Exécutez l'exemple en utilisant:

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

Une fois ces étapes terminées, l'exemple affiche le nom de la première vue (profil) Google Analytics de l'utilisateur autorisé et le nombre de sessions des sept derniers jours.

Avec l'objet de service Analytics autorisé, vous pouvez désormais exécuter n'importe quel exemple de code disponible dans la documentation de référence de l'API Management. Par exemple, vous pouvez essayer de modifier le code pour utiliser la méthode accountSummaries.list.

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:

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

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

  2. Ajoutez la ligne suivante à votre fichier ~/.bashrc, en remplaçant <pip_install_path> par la valeur déterminée ci-dessus:

    export PYTHONPATH=$PYTHONPATH:<pip_install_path>
    
  3. Actualisez votre fichier ~/.bashrc dans n'importe quelle fenêtre de terminal ouverte à l'aide de la commande suivante:

    source ~/.bashrc