Je souhaite écrire un script PHP qui importe les données de statistiques Web de GA. Le script est accessible via un frontal Web (pour déclencher l'importation) et réside sur un serveur local (127.0.0.1).demander des données Google Analytics à partir d'un serveur local
Comme je l'ai compris de la documentation est qu'il ya deux options pour l'authentification et en utilisant l'API de base:
- API clés - subventions que l'accès aux statistiques
- OAuth2 - autorisation complète
Si je comprends correctement la mécanique de OAuth2, ce n'est pas une option dans mon scénario car je ne peux pas spécifier une URL de rappel. Les solutions Hacky me viennent à l'esprit - comme l'établissement d'une authentification de profil Web se connectant directement à GA à partir du navigateur puis en récupérant les données par JavaScript et en les injectant dans le script d'importation - mais je préfère éviter de telles solutions. En outre, l'interaction du navigateur déclenchant le processus d'importation peut être remplacée par un travail cron dans le futur.
La clé API semble être exactement ce que je veux, mais la requête GET du navigateur échoue.
requête GET:
https://www.googleapis.com/analytics/v3/data/ga
?ids=ga:[profile ID]
&start-date=2013-01-01&end-date=2013-01-05
&metrics=ga:visits
&key=[the API key]
Réponse:
{
error: {
errors: [
{
domain: "global",
reason: "required",
message: "Login Required",
locationType: "header",
location: "Authorization"
}
],
code: 401,
message: "Login Required"
}
}
L'URL bien devrait être bien. Excepté le paramètre clé, il est le même que celui généré avec http://ga-dev-tools.appspot.com/explorer/ qui fonctionne également (AOuth2 est utilisé dans ce cas). La clé API est fraîche.
Puis générer à nouveau une nouvelle clé API me confronte à l'inconvénient suivant qui est que, apparemment, la clé n'est valide que pour un jour.
Ainsi, à la fin de la journée ma question est la suivante:
Est-il possible de récupérer les données dans le scénario décrit ci-dessus sans avoir à authentifier manuellement ou générer des clés de l'API sur une base quotidienne?
Jetez un coup d'œil aux [Méthodes d'autorisation] (https://developers.google.com/analytics/devguides/reporting/core/v3/gdataAuthorization #common_oauth) disponible. Il y en a 2 qui devraient fonctionner pour vous. ** Serveur Web ** et ** Comptes de service **. Avec la méthode [Web Server] (https://developers.google.com/accounts/docs/OAuth2WebServer), vous devez toujours passer par oAuth, mais vous ne devez le faire qu'une seule fois. Et après cela, vous obtenez un jeton d'actualisation que vous pouvez utiliser pour générer plus de jetons d'accès en cas de besoin sans passer par le flux oAuth à nouveau. Les [Comptes de service] (https://developers.google.com/accou – Eduardo
D'accord, peut-être que cela fait l'affaire, mais je suis toujours intéressé par une réponse complète adressant également les autres points mentionnés.) – Raffael