Hello Analytics Reporting API v4; Python-Kurzanleitung für installierte Anwendungen

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Diese Anleitung führt Sie durch die erforderlichen Schritte für den Zugriff auf die Analytics Reporting API v4.

1. API aktivieren

Damit Sie die Analytics Reporting API v4 verwenden können, müssen Sie zuerst das Einrichtungstool verwenden. Es führt Sie durch die Erstellung eines Projekts in der Google API Console, durch das Aktivieren der API und durch das Erstellen von Anmeldedaten.

Hinweis: Um eine Web-Client-ID oder einen Client für installierte Anwendungen zu erstellen, müssen Sie auf dem Zustimmungsbildschirm einen Produktnamen festlegen. Falls noch nicht geschehen, werden Sie aufgefordert, den Zustimmungsbildschirm zu konfigurieren.

Anmeldedaten erstellen

  • Öffnen Sie die Seite Anmeldedaten.
  • Klicken Sie auf Anmeldedaten erstellen und wählen Sie OAuth-Client-ID aus.
  • Wählen Sie als Anwendungstyp die Option Sonstige aus.
  • Benennen Sie die Client-ID als Kurzanleitung und klicken Sie auf Erstellen.

Klicken Sie auf der Seite „Anmeldedaten“ auf die neu erstellte Client-ID und dann auf JSON herunterladen. Speichern Sie sie als client_secrets.json. Sie benötigen sie später in der Anleitung.

2. Clientbibliothek installieren

Für die Installation von Python-Paketen wird pip zusammen mit venv empfohlen: 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. Beispiel einrichten

Sie müssen eine einzelne Datei namens HelloAnalytics.py erstellen, die den angegebenen Beispielcode enthält.

  1. Kopieren Sie den folgenden Quellcode oder laden Sie ihn nach HelloAnalytics.py herunter.
  2. Verschieben Sie die zuvor heruntergeladene Datei client_secrets.json in dasselbe Verzeichnis wie den Beispielcode.
  3. Ersetzen Sie den Wert von VIEW_ID. Sie können den Account Explorer verwenden, um eine ID der Datenansicht zu finden.
"""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. Beispiel ausführen

Führen Sie das Beispiel mit dem folgenden Befehl aus:

python HelloAnalytics.py
  • Die Autorisierungsseite wird in der Anwendung in einem Browser geladen.
  • Wenn Sie noch nicht in Ihrem Google-Konto angemeldet sind, werden Sie aufgefordert, sich anzumelden. Wenn Sie in mehreren Google-Konten angemeldet sind, werden Sie aufgefordert, ein Konto für die Autorisierung auszuwählen.

Wenn Sie diese Schritte abgeschlossen haben, gibt das Beispiel die Anzahl der Sitzungen für die angegebene Datenansicht in den letzten sieben Tagen aus.

Fehlerbehebung

AttributeError: 'Module_six_moves_urllib_parse' Objekt hat kein Attribut 'urlparse'

Dieser Fehler kann unter Mac OS X auftreten, wenn die Standardinstallation des Moduls (eine Abhängigkeit aus dieser Bibliothek) geladen wird, bevor das Modul von pip installiert wurde. Fügen Sie der Systemumgebungsvariablen PYTHONPATH den Installationspfad hinzu, um das Problem zu beheben:

  • Ermitteln Sie mit dem folgenden Befehl den Installationspfad von „pip“:

    pip show sechs | grep "Location:" | Cut -d " " -f2

  • Fügen Sie der Datei ~/.bashrc die folgende Zeile hinzu und ersetzen Sie dabei &lt;pip_install_path&gt; durch den oben ermittelten Wert:

    export PYTHONPATH=$PYTHONPATH:<pip_install_path>

  • Aktualisieren Sie die Datei ~/.bashrc in einem beliebigen geöffneten Terminalfenster mit dem folgenden Befehl:

    Quelle ~/.bashrc