Abrufen von Daten aus der Analyse-API mit Google API Client für Python

Referenz https://developers.google.com/analytics/devguides/reporting/core/v4/quickstart/installed-py

Beispielklasse

class GoogleAnalyticsUtility(object):
    SCOPES = ['https://www.googleapis.com/auth/analytics.readonly']
    DISCOVERY_URI = ('https://analyticsreporting.googleapis.com/$discovery/rest')
    VIEW_ID = 'xxxx'

    def __init__(self, target_date):
        self.target_date = target_date

    def get_report(self):
        parser = argparse.ArgumentParser(
                formatter_class=argparse.RawDescriptionHelpFormatter,
                parents=[tools.argparser])
        flags = parser.parse_args(['--noauth_local_webserver'])
        CLIENT_SECRETS_PATH = os.path.join(settings.BASE_DIR, '../etc/googleapi/client_id.json')
        flow = client.flow_from_clientsecrets(
                CLIENT_SECRETS_PATH, scope=self.SCOPES,
                message=tools.message_if_missing(CLIENT_SECRETS_PATH))

        storage = file.Storage(os.path.join(settings.BASE_DIR, '../etc/googleapi/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())
        analytics = build('analytics', 'v4', http=http, discoveryServiceUrl=self.DISCOVERY_URI)
        reports = analytics.reports()
        return reports.batchGet(
                body={
                    'reportRequests': [
                        {
                            'viewId': self.VIEW_ID,
                            'dateRanges': [{'startDate': self.target_date, 'endDate': 'today'}],
                            "dimensions": [
                                {
                                    "name": "ga:productSku",  #Der Produktcode des verkauften Artikels.
                                }],
                            'metrics': [
                                {'expression': 'ga:itemQuantity'}  #Die Anzahl der Artikel, die in einer E-Commerce-Transaktion verkauft wurden.
                            ],
                            'pageSize': 50000,
                            'pageToken': "nextpage",
                            "orderBys":
                                [
                                    {"fieldName": "ga:itemQuantity", "sortOrder": "DESCENDING"},
                                ]
                        }]
                }
        ).execute()

target_date = date.today() - timedelta(days=7)
ga = GoogleAnalyticsUtility(target_date.strftime('%Y-%m-%d'))
ga.get_report()

Wenn Sie in der Befehlszeile darauf klicken, wird ein Link angezeigt. Kopieren Sie ihn und fügen Sie ihn in den Browser ein, um die Authentifizierung abzuschließen

https://accounts.google.com/o/oauth2/auth?scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fanalytics.readonly&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2F&response_type=code&client_id=xxxxx-gd5j31ge4jdobhlg9a3jqnveae34cag1.apps.googleusercontent.com&access_type=offline

Recommended Posts

Abrufen von Daten aus der Analyse-API mit Google API Client für Python
Datenerfassung von der Analytics-API mit dem Google API-Client für die Python Part 2-Webanwendung
Verwenden Sie die Google Analytics-API von Python
Spielen Sie mit der YouTube Data API v3 mit dem Google API Python Client
[Hinweis] Mit Python Daten von PostgreSQL abrufen
Holen Sie sich Google Fit API-Daten in Python
Holen Sie sich Aktienkursdaten mit Quandl API [Python]
Holen Sie sich Youtube-Daten mit Python
Holen Sie sich mit Python + Zeep einen Zeitplan von der Garoon SOAP API
[Python] Abrufen von Insight-Daten mithilfe der Google My Business-API
Abrufen von Daten aus der Datenbank über ODBC mit Python (Access)
Holen Sie sich Bewertungen mit Python Googlemap API
[Python] Mit DataReader Wirtschaftsdaten abrufen
Holen Sie sich Daten von VPS MySQL mit Python 3 und SQL Alchemy
Sammeln von Informationen von Twitter mit Python (Twitter API)
Holen Sie sich mit Python zusätzliche Daten zu LDAP
Google Cloud Vision API-Beispiel für Python
[google-oauth] [python] Google APIs-Clientbibliothek für Python
Empfangen Sie Textdaten von MySQL mit Python
Holen Sie sich HTML von Element mit Python-Selen
Einfacher Slack API-Client mit Python
Holen Sie sich Lebensmitteldaten mit Amazon API (Python)
Python: Lesen von JSON-Daten von der Web-API
Holen Sie sich Daten von Cloudant mit Bluemix-Kolben
Holen Sie sich Youtube-Daten in Python mithilfe der Youtube-Daten-API
Verwenden Sie die Google Cloud Vision-API von Python
Holen Sie sich Urlaub mit der Google Kalender-API
[Python] Python-Paketinformationen mit der PyPI-API abrufen
Holen Sie sich mit pyVISA Daten von einem Oszilloskop
Erstellen einer Google-Tabelle mit der Python / Google Data-API
Folie bearbeiten (Powerpo für Google) mit Python (kostengünstiger RPA-Fall mit Google API und Python)
Kopieren Sie Daten von Amazon S3 mit Python (boto) in Google Cloud Storage.
Holen Sie sich mit Python Zeitreihendaten von k-db.com
CSV-Ausgabe der Google-Suche mit [Python]! 【Einfach】
Holen Sie sich ein Ticket für einen Themenpark mit Python
[Python] Holen Sie sich alle Kommentare mit Youtube Data Api
Führen Sie die Google Analytics-API (Core v3) in Python aus
Wickeln Sie C mit Cython für Python ein
Ich habe versucht, CloudWatch-Daten mit Python abzurufen
~ Tipps für Python-Anfänger mit Liebe von Pythonista ① ~
Holen Sie sich den Betreff und den Text von Google Mail mit der Python- und Google Mail-API
Wrap C ++ mit Cython zur Verwendung von Python
~ Tipps für Python-Anfänger mit Liebe von Pythonista ② ~
Extrahieren Sie mit Python Daten von einer Webseite
Holen Sie sich mit Python + Requests Benutzer, die zu Ihrer Organisation gehören, über die Garoon REST-API
[Einführung in Python] So erhalten Sie den Datenindex mit der for-Anweisung
Datenanalyse mit Python 2
Holen Sie sich ein Date mit Python
Datenanalyse mit Python
Datenanalyse zur Verbesserung von POG 1 ~ Web Scraping mit Python ~
Exportieren Sie Zugriffsdaten für jeden Nutzer von Google Analytics.
So kratzen Sie Bilddaten von Flickr mit Python
[Python] Ruft den Gesetzestext aus der e-GOV-Gesetz-API ab
Holen Sie sich Finanzdaten mit Python (dann ein wenig basteln)
Holen Sie sich LEAD-Daten mit der REST-API von Marketo in Python
Holen Sie sich mit Python Daten vom GPS-Modul mit 10 Hz