Exécutez l'API Google Analytics (core v3) en python

testga.py


# -*- coding: utf-8 -*-
# Google Analytics API

import yaml
import datetime
import httplib2
from apiclient.discovery import build
from oauth2client.client import flow_from_clientsecrets
from oauth2client.file import Storage
from oauth2client import tools
import argparse

CLIENT_SECRETS = 'client_secrets.json'

# The Flow object to be used if we need to authenticate.
FLOW = flow_from_clientsecrets(
    CLIENT_SECRETS,
    scope='https://www.googleapis.com/auth/analytics.readonly',
    message='%s is missing' % CLIENT_SECRETS
    )

# A file to store the access token
TOKEN_FILE_NAME = 'credentials.dat'

def prepare_credentials():
    parser = argparse.ArgumentParser(parents=[tools.argparser])
    flags = parser.parse_args()
    # Retrieve existing credendials
    storage = Storage(TOKEN_FILE_NAME)
    credentials = storage.get()
    # If no credentials exist, we create new ones
    if credentials is None or credentials.invalid:
        credentials = tools.run_flow(FLOW, storage, flags)
    return credentials 

def initialize_service():
    http = httplib2.Http()
    credentials = prepare_credentials()
    http = credentials.authorize(http)
    return build('analytics', 'v3', http=http)


#Exécution de l'API(core API)
def get_ga_data(service, profile_id, start_date, end_date):
    ids = "ga:" + profile_id
    metrics = "ga:pageviews"
    dimensions = "ga:Year,ga:month,ga:day,ga:pagetitle"
    filter = "ga:pageviews>=100"
    data = service.data().ga().get(
        ids=ids, start_date=start_date, end_date=end_date, metrics=metrics,
        dimensions=dimensions, filters=filter).execute()
    return data

# main
if __name__ == '__main__':
    service = initialize_service()
    profile_id = "12345678"  #ID de profil du site cible
    start_date = "2017-01-01"
    end_date = "2017-01-10"
    data = get_ga_data(service, profile_id, start_date, end_date)
    row = data["rows"]
    nm = ['ga_year','ga_month','ga_day','ga_pageTitle','ga_pageviews'] 
    lst = []
    for i in row:
        d = dict(zip(nm,i))
        lst.append(d)
    print(lst)
    print("finish!")  

-Activer l'API Google Analytics dans la Google Developers Console ・ Obtenez également un jeton d'authentification pour oauth auprès des développeurs Google. (Nom de fichier: client_secrets.json) ・ Lors du premier accès, le navigateur est affiché et l'authentification Oauth de Google est effectuée, puis credentials.dat est généré (l'authentification Oauth peut être omise à partir de la deuxième fois en fonction de ces informations d'identification.dat) -Dans le script ci-dessus, get_ga_data () est utilisé pour exécuter l'API Google Analytics pour acquérir des données, et enfin le format du dictionnaire dict est [Stocker les données dans le RDB le plus proche avec SQL Alchemy](http: // qiita. com / Fortinbras / articles / 884b140de5af10183738)

Recommended Posts

Exécutez l'API Google Analytics (core v3) en python
Utiliser l'API Google Analytics de Python
Obtenez les données de l'API Google Fit en Python
[SEO] Flux / exemple de code lors de l'utilisation de l'API Google Analytics en Python
API Evernote en Python
API C en Python 3
[WP REST API v2] Télécharger des images avec Python
Essayez d'utiliser l'API DropBox Core avec Python
Exécutez le wrapper Python de l'API Qiita v2 dans un environnement Python 3 (Mac OS X 10.11 (El Capitan))
Importez un fichier JPG à l'aide de l'API Google Drive en Python
Reconnaissance vocale des fichiers par l'API Google Speech v2 à l'aide de Python
Exécuter des tâches automatisées en Python
Exécuter Python unittest en parallèle
API Blender Python dans Houdini (Python 3)
Conseils relatifs aux API Google Drive (Python)
[API LINE Messaging] Émettre un jeton d'accès au canal v2.1 en Python
Obtenez des données de l'API d'analyse avec le client API Google pour python
[CLPEX memo] Exécutez l'API DO Python dans l'environnement installé COS
Mettez en place le géocodage inversé en japonais avec l'API Python Google Maps
Jouez avec l'API de données YouTube v3 à l'aide du client Python de l'API Google
Obtenir l'API arXiv en Python
Frappez l'API Sesami en Python
Exécutez la commande shell / Python dans R
Exécutez Rotrics DexArm avec l'API Python
[Python] Accédez à l'API Google Translation
[Python3] Google translate google translation sans utiliser l'API
Téléchargez des fichiers Google Drive en Python
Créez Gmail en Python sans utiliser l'API
Accédez à l'API Web en Python
Implémentez rapidement l'API REST en Python
Exécutez unittest en Python (pour les débutants)
Exécutez Ansible à partir de Python à l'aide de l'API
Exécutez un algorithme simple en Python
Accéder à l'API Twitter avec Python
Exemple d'API Google Cloud Vision pour python
Fonctionnement de la souris à l'aide de l'API Windows en Python
Essayez d'utiliser l'API Wunderlist en Python
Essayez d'utiliser l'API Kraken avec Python
[Python] Exécutez Flask sur Google App Engine
Tweet à l'aide de l'API Twitter en Python
Exécutez AzureKinect en Python la veille de Noël.
Exécuter l'interpréteur Python dans le script
Obtenez des données Youtube en Python à l'aide de l'API Youtube Data
Utiliser l'API Google Cloud Vision de Python
Essayez rapidement l'API Face de Microsoft en Python
Exécuter régulièrement des tâches de type cron en Python
Créer une feuille de calcul Google à l'aide de l'API Python / Google Data
Implémentation du wrapper Python pour l'API Qiita v2
Exécutez Python en C ++ sur Visual Studio 2017
Acquisition de données à partir de l'API d'analyse avec l'application Web Client API Google pour python Partie 2
Premiers pas pour essayer Google CloudVision en Python
Recevoir le websocket de l'API kabu station ® en Python
Jouez avec Google Spread Sheet avec Python (OAuth)
Fonctionnement sans assistance des feuilles de calcul Google (etc.) en Python
Mettez du texte récupéré en Python dans une feuille de calcul Google
Exécutez Python YOLOv3 en C ++ sur Visual Studio 2017
Essayez d'utiliser l'API BitFlyer Ligntning en Python
Une doublure qui rend l'utilisation du cœur du CPU 1 à 100% en Python