Peut-être que si vous voulez utiliser l'API Google Analytics de Python, [Python Quick Start](https://developers.google.com/analytics/devguides/config/mgmt/v3/quickstart/service-py?hl=ja# Avez-vous vu activer)? Cependant, si vous suivez cette voie, à l'étape 3
Traceback (most recent call last):
File "test.py", line 6, in <module>
from oauth2client.client import SignedJwtAssertionCredentials
ImportError: cannot import name SignedJwtAssertionCredentials
Cela n'a pas fonctionné à côté de moi. (Au 20 mars 2016)
Comme conclusion
La solution était d'utiliser ServiceAccountCredentials
au lieu deSignedJwtAssertionCredentials
.
Cette fois, j'ai appliqué ce changement et créé sample qui génère le classement du nombre de pages vues.
python utilise Python 2.7.6.
Suivez l'étape 2 du Démarrage rapide Python
Veuillez obtenir.
Téléchargez Github Repository. Placez le fichier de clé P12 que vous avez créé précédemment dans le dossier téléchargé.
Préparez le fichier json
cp config.json.sample config.json
Modifiez le contenu de config.json comme suit.
{
"email": "<your google developer email adress> ex) [email protected] ",
"key": "<*.p12 path> ex) ./sample-5a5a55a5a5a5.p12",
"start_date": "Date de début de la période de classement ex) 07/02/2016", "end_date": "Date de fin de la période de classement ex) 07/03/2016", "home": "URL de la page à analyser ex) http://qiita.com" }
Mettez les deux suivants avec pip
sudo pip install --upgrade google-api-python-client
pip install pyopenssl
je le ferai
python googel_analystic_api_ranking.py
Les parties suivantes déterminent le contenu du classement.
def get_rankings_results(service, profile_id, config):
return service.data().ga().get(
ids='ga:' + profile_id,
start_date=config['start_date'],
end_date=config['end_date'],
sort='-ga:pageviews',
max_results='10',
dimensions='ga:pageTitle,ga:pagePath',
metrics='ga:pageviews').execute()
sort = '- ga: pages vues',
est trié par ga: pages vues
et est acquis par ordre décroissant par le premier-
.
L'API Analytics obtient les résultats sous la forme d'une matrice.
À ce stade, utilisez max_results
pour spécifier la limite supérieure du nombre de lignes du résultat acquis par l'API.
En outre, les contenus à acquérir sont décidés par des «dimensions» et des «métriques».
Cette fois, "dimensions" spécifie le titre et le chemin de la page, et "metrics" spécifie le nombre de pages vues.
En tant qu'image, vous pouvez voir les «métriques» pour chaque «dimension».
Le résultat est sorti dans la partie suivante.
def print_rankings_results(results, home):
# Print data nicely for the user.
if results:
print(u'-----------Classement Top 10-----------')
for col in results.get('rows'):
print(u'{0}\t{1}{2}\t{3}'.format(col[0], home, col[1], col[2]))
else:
print ('No results found')
L'argument «results» contient la réponse de l'API obtenue par le précédent «get_rankings_results».
Vous pouvez également accéder à chaque ligne de résultats avec'results.get ('rows') '.
Les résultats sont disposés dans l'ordre des dimensions
, metrics
, de sorte que vous pouvez obtenir le pagePath du premier résultat en tapant'results.get ('rows') [0] [1] '.
Recommended Posts