In dieser Anleitung werden die Schritte beschrieben, die für den Zugriff auf ein Google Analytics-Konto, die Abfrage der Analytics APIs, die Verarbeitung der API-Antworten und die Ausgabe der Ergebnisse erforderlich sind. In dieser Anleitung werden die Core Reporting API Version 3.0, die Management API Version 3.0 und OAuth 2.0 verwendet.
Schritt 1: Analytics API aktivieren
Damit du die Google Analytics API verwenden kannst, musst du zuerst mithilfe des Einrichtungstools ein Projekt in der Google API Console erstellen. Dadurch wird die API aktiviert und Anmeldedaten erzeugt.
Client-ID erstellen
Auf der Seite „Anmeldedaten“:
- Klicken Sie auf Anmeldedaten erstellen und wählen Sie OAuth-Client-ID aus.
- Wählen Sie unter Anwendungstyp die Option Sonstiges aus.
- Benennen Sie die Anmeldedaten.
- Klicken Sie auf Erstellen.
Wählen Sie die soeben erstellten Anmeldedaten aus und klicken Sie auf JSON herunterladen. Speichern Sie die heruntergeladene Datei als client_secrets.json
. Sie benötigen sie später in der Anleitung.
Schritt 2: Google-Clientbibliothek installieren
Sie können entweder einen Paketmanager verwenden oder die Python-Clientbibliothek manuell herunterladen und installieren:
pip
Verwenden Sie pip, das empfohlene Tool zum Installieren von Python-Paketen:
sudo pip install --upgrade google-api-python-client
Einrichtungstools
Verwenden Sie das im Paket setuptools enthaltene Tool easy_install:
sudo easy_install --upgrade google-api-python-client
Manuelle Installation
Laden Sie die aktuelle Clientbibliothek für Python herunter, entpacken Sie den Code und führen Sie den folgenden Befehl aus:
sudo python setup.py install
Möglicherweise müssen Sie den Befehl mit Superuser-Berechtigungen (sudo
) aufrufen, um das System im Python-System zu installieren.
Schritt 3: Beispiel einrichten
Sie müssen eine einzelne Datei mit dem Namen HelloAnalytics.py
erstellen, die den angegebenen Beispielcode enthält.
- Kopieren Sie den folgenden Quellcode oder laden Sie ihn nach
HelloAnalytics.py
herunter. - Verschieben Sie die zuvor heruntergeladene Datei
client_secrets.json
in dasselbe Verzeichnis wie den Beispielcode.
"""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()
Schritt 4: Beispiel ausführen
Nachdem Sie die Analytics API aktiviert haben, haben Sie die Google API-Clientbibliothek für Python installiert und den Beispielquellcode eingerichtet.
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 ausführen, gibt das Beispiel den Namen der ersten Google Analytics-Datenansicht (Profil) und die Anzahl der Sitzungen in den letzten sieben Tagen aus.
Mit dem autorisierten Analytics-Dienstobjekt können Sie jetzt alle Codebeispiele in der Referenzdokumentation zur Management API ausführen. Sie können beispielsweise versuchen, den Code so zu ändern, dass die Methode accountSummaries.list verwendet wird.
Fehlerbehebung
AttributeError: 'Module_six_moves_urllib_parse' Objekt hat kein Attribut 'urlparse'
Dieser Fehler kann unter macOS auftreten, wenn die Standardinstallation des Moduls (eine Abhängigkeit von dieser Bibliothek) vor dem installiert ist, das 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 six | grep "Location:" | cut -d " " -f2
-
Fügen Sie der Datei
~/.bashrc
die folgende Zeile hinzu und ersetzen Sie dabei<pip_install_path>
durch den oben ermittelten Wert:export PYTHONPATH=$PYTHONPATH:<pip_install_path>
-
Aktualisieren Sie die Datei
~/.bashrc
in einem geöffneten Terminalfenster mit dem folgenden Befehl:source ~/.bashrc