Hello Analytics Reporting API Version 4; Python-Kurzanleitung für Dienstkonten

In dieser Anleitung werden die erforderlichen Schritte für den Zugriff auf Version 4 der Analytics Reporting API beschrieben.

1. API aktivieren

Für den Einstieg in Version 4 der Analytics Reporting API müssen Sie zuerst das Einrichtungstool verwenden. Dieses Tool führt Sie durch die Erstellung eines Projekts in der Google API Console, die Aktivierung der API und die Erstellung von Anmeldedaten.

Anmeldedaten erstellen

  1. Öffne die Seite Dienstkonten. Wähle ein Projekt aus, wenn du dazu aufgefordert wirst.
  2. Klicke auf Dienstkonto erstellen und gib einen Namen und eine Beschreibung für das Dienstkonto ein. Du kannst die standardmäßige Dienstkonto-ID verwenden oder eine andere eindeutige ID auswählen. Wenn du fertig bist, klicke auf Erstellen.
  3. Für den folgenden Abschnitt Dienstkontoberechtigungen (optional) sind keine Maßnahmen erforderlich. Klicke auf Weiter.
  4. Scrolle auf dem Bildschirm Nutzern Zugriff auf dieses Dienstkonto erteilen nach unten zum Abschnitt Schlüssel erstellen. Klicke auf Schlüssel erstellen.
  5. Wählen Sie in der angezeigten Seitenleiste das Format für Ihren Schlüssel aus. Empfohlen wird JSON.
  6. Klicken Sie auf Erstellen. Dein neues öffentliches/privates Schlüsselpaar wird generiert und auf deinen Computer heruntergeladen. Dies ist die einzige Kopie dieses Schlüssels. Informationen dazu, wie du den Schlüssel sicher speicherst, findest du unter Dienstkontoschlüssel verwalten.
  7. Klicke im Dialogfeld Privater Schlüssel auf deinem Computer gespeichert auf Schließen und dann auf Fertig, um zur Tabelle deiner Dienstkonten zurückzukehren.

Dienstkonto zum Google Analytics-Konto hinzufügen

Das neu erstellte Dienstkonto hat eine E-Mail-Adresse, die in etwa so aussieht:

quickstart@PROJECT-ID.iam.gserviceaccount.com

Verwenden Sie diese E-Mail-Adresse, um der Google Analytics-Datenansicht, auf die Sie über die API zugreifen möchten, einen Nutzer hinzuzufügen. Für diese Anleitung sind nur die Berechtigungen Lesen und analysieren erforderlich.

2. Clientbibliothek installieren

Für die Installation von Python-Paketen wird die Verwendung von pip 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 mit dem Namen HelloAnalytics.py erstellen, die den angegebenen Beispielcode enthält.

  1. Kopieren oder laden Sie den folgenden Quellcode in HelloAnalytics.py herunter.
  2. Verschieben Sie die zuvor heruntergeladene Datei client_secrets.json in das Verzeichnis, in dem sich der Beispielcode befindet.
  3. Ersetzen Sie den Wert von KEY_FILE_LOCATION durch den entsprechenden Pfad zum heruntergeladenen client_secrets.json.
  4. Ersetzen Sie den Wert von VIEW_ID. Sie können den Konto-Explorer verwenden, um die ID der Datenansicht zu ermitteln.
"""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. Beispiel ausführen

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

python HelloAnalytics.py

Wenn Sie diese Schritte abgeschlossen haben, wird im Beispiel die Anzahl der Sitzungen der letzten sieben Tage für die jeweilige Ansicht ausgegeben.

Fehlerbehebung

AttributeError: Objekt "Module_six_moves_urllib_parse" weist kein Attribut "urlparse" auf

Dieser Fehler kann unter Mac OSX auftreten, wo die Standardinstallation des "six"-Moduls (eine Abhängigkeit dieser Bibliothek) vor dem Modul geladen wird, das pip installiert hat. Um das Problem zu beheben, fügen Sie den Installationspfad von „pip“ der Systemumgebungsvariablen PYTHONPATH hinzu:

  • Bestimmen Sie den Installationspfad von pip mit dem folgenden Befehl:

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

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

    export PYTHONPATH=$PYTHONPATH:<pip_install_path>

  • Laden Sie die Datei ~/.bashrc mit dem folgenden Befehl in allen geöffneten Terminalfenstern neu:

    Quelle ~/.bashrc