Obtenez des données de l'API d'analyse avec le client API Google pour python

référence https://developers.google.com/analytics/devguides/reporting/core/v4/quickstart/installed-py

Exemple de classe

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",  #Le code produit de l'article vendu.
                                }],
                            'metrics': [
                                {'expression': 'ga:itemQuantity'}  #Le nombre de produits vendus dans une transaction de commerce électronique.
                            ],
                            '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()

Si vous appuyez dessus sur la ligne de commande, un lien sera affiché, alors copiez-le et collez-le dans le navigateur pour terminer l'authentification

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

Obtenez des données de l'API d'analyse avec le client API Google pour python
Acquisition de données à partir de l'API d'analyse avec l'application Web Client API Google pour python Partie 2
Utiliser l'API Google Analytics de Python
Jouez avec l'API de données YouTube v3 à l'aide du client Python de l'API Google
[Note] Obtenir des données de PostgreSQL avec Python
Obtenez les données de l'API Google Fit en Python
Obtenez des données sur le cours de l'action avec l'API Quandl [Python]
Obtenez des données Youtube avec python
Obtenir le calendrier de l'API Garoon SOAP avec Python + Zeep
[Python] Obtenez des données insight à l'aide de l'API Google My Business
Obtenir des données de la base de données via ODBC avec Python (Access)
Obtenir des données de Quandl en Python
Obtenez des avis avec l'API googlemap de python
[Python] Obtenez des données économiques avec DataReader
Obtenez des données de VPS MySQL avec Python 3 et SQL Alchemy
Collecter des informations sur Twitter avec Python (API Twitter)
Obtenez des données supplémentaires vers LDAP avec python
Exemple d'API Google Cloud Vision pour python
[google-oauth] [python] Bibliothèque cliente des API Google pour Python
Recevoir des données textuelles de mysql avec python
Obtenir le code HTML de l'élément avec du sélénium Python
Client API Slack simple réalisé avec Python
Obtenez des données alimentaires avec l'API Amazon (Python)
Python: lecture de données JSON à partir de l'API Web
Obtenez des données de Cloudant avec le flacon Bluemix
Obtenez des données Youtube en Python à l'aide de l'API Youtube Data
Utiliser l'API Google Cloud Vision de Python
Obtenez des vacances avec l'API Google Agenda
[Python] Obtenez des informations sur le package Python avec l'API PyPI
Obtenez des données d'un oscilloscope avec pyVISA
Créer une feuille de calcul Google à l'aide de l'API Python / Google Data
Modifier la diapositive (Powerpo pour Google) avec Python (cas RPA à faible coût avec API Google et Python)
Copier des données d'Amazon S3 vers Google Cloud Storage avec Python (boto)
Obtenez des données de séries chronologiques de k-db.com avec Python
Sortie CSV de la recherche Google avec [Python]! 【Facile】
Obtenez un billet pour un parc à thème avec python
[Python] Obtenez tous les commentaires à l'aide de Youtube Data Api
Exécutez l'API Google Analytics (core v3) en python
Envelopper C avec Cython pour une utilisation à partir de Python
J'ai essayé d'obtenir des données CloudWatch avec Python
~ Conseils pour les débutants de Python donnés avec amour par Pythonista ① ~
Obtenez l'objet et le corps de Gmail avec Python et l'API Gmail
Envelopper C ++ avec Cython pour une utilisation à partir de Python
~ Conseils pour les débutants de Python donnés avec amour par Pythonista ② ~
Extraire des données d'une page Web avec Python
Obtenez des utilisateurs appartenant à votre organisation à partir de l'API Garoon REST avec les requêtes Python +
[Introduction à Python] Comment obtenir l'index des données avec l'instruction for
Analyse de données avec python 2
Obtenez date avec python
Analyse de données avec Python
Analyse de données pour améliorer POG 1 ~ Web scraping avec Python ~
Exportez les données d'accès pour chaque utilisateur de Google Analytics.
Comment récupérer des données d'image de Flickr avec Python
[Python] Récupérez le texte de la loi à partir de l'API e-GOV law
Obtenez des données financières avec python (puis un peu de bricolage)
Obtenez des données LEAD à l'aide de l'API REST de Marketo en Python
Obtenez des données du module GPS à 10 Hz avec Python