2017-09-10 2 views
7

Je sais comment accéder aux données Google Analytics avec Data Studio ou with Google Apps script en Javascript:Obtenez le nombre de visiteurs scénario

var account = Analytics.Management.Accounts.list().items[0]; 
var webProperties = Analytics.Management.Webproperties.list(account.id); 
... 
var report = Analytics.Data.Ga.get(tableId, startDate, endDate, metric, 
    options); 

Mais en PHP, comment est-il possible de récupérer le nombre de visiteurs d'un site Web spécifique ou page spécifique, à partir d'un compte/propriété/vue Google Analytics?-à-dire:

entrée

: compte analytique login/mot de passe/code site 'UA-XXXXX-Y'

sortie: [19873, 17873, 13999, 21032, ..., 16321] (à savoir le nombre de visites sur www.example.com pour chacun des 30 derniers jours, sous la forme d'entiers ou de JSON)

+0

Si vous êtes satisfait de l'utilisation de la version 3 de l'API, consultez ce post: https://stackoverflow.com/questions/46039271/google-analytics-api-get-page-views-by-url/46040074#46040074 . –

Répondre

1

J'utilise ce paquet:

https://github.com/google/google-api-php-client

Vous pouvez l'utiliser pour accéder à toutes les API Google PHP, y compris bien sûr Voici un exemple d'utilisation:

// create client object and set app name 
$client = new Google_Client(); 
$client->setApplicationName('Your app name'); // name of your app 

// set assertion credentials 
$client->setAssertionCredentials(
    new Google_AssertionCredentials(
     '[email protected]', // email you added to GA 
     [ 
      'https://www.googleapis.com/auth/analytics.readonly'),   
      file_get_contents('/your/key/file.p12') // keyfile you downloaded 
     ] 
    ) 
); 

// other settings 
$client->setClientId('your-client-id'); // from API console 
$client->setAccessType('offline_access'); // this may be unnecessary? 

// create service and get data 
$service = new Google_AnalyticsService($client); 

$from_date = date("Y-m-d",strtotime("-30 days")); // A month 
$to_date = date("Y-m-d"); 

$response = $service->data_ga->get(
    "ga:profile_id", // profile id 
    "$from_date", // start date 
    "$to_date", // end date 
    "ga:uniquePageviews", 
    [ 
     'dimensions' => 'ga:pagePath', // Dimensions you want to include, pagePath in this example 
     'sort' => '-ga:uniquePageviews', // Sort order, order by unique page views from high to low in this case 
     'filters' => 'ga:pagePath=~\/articles\/[a-zA-Z0-9\-]+', // example url filter 
     'max-results' => '50' // Max results 
    ] 
); 
foreach ($response["rows"] as $row) { 
    // ...do whatever you want with the results 
} 

De plus, voici un guide sur la façon d'utiliser les API Google:

https://developers.google.com/api-client-library/php/start/get_started

EDIT: Vous devez créer des informations d'identification pour accéder à l'API Google Analytics. Vous le faites ici: https://console.cloud.google.com/flows/enableapi?apiid=analyticsreporting.googleapis.com&credential=client_key. Vous devez d'abord enregistrer un projet, puis créer les informations d'identification. Il existe trois options: clé API, ID client OAuth et clé de compte de service. Je ne voulais pas utiliser OAuth, j'ai donc utilisé la clé de compte de service. Vous pouvez essayer d'utiliser la clé API. Dans ce cas, remplacez l'appel $client->setAssertionCredentials(...) par $client->setDeveloperKey(your_api_key). Vous ne pouvez pas utiliser le nom d'utilisateur et mot de passe directement AFAIK.

+0

Vous devez créer des informations d'identification pour accéder à l'API Analytics. Vous le faites ici: https://console.cloud.google.com/start/api?id=analyticsreporting.googleapis.com&credential=client_key. Vous devez d'abord enregistrer un projet, puis créer les informations d'identification. Il existe trois options: clé API, ID client OAuth et clé de compte de service. Je ne voulais pas utiliser OAuth, j'ai donc utilisé la clé de compte de service. Vous pouvez essayer d'utiliser la clé API, auquel cas remplacer l'appel '$ client-> setAssertionCredentials (...)' pour $ client-> setDeveloperKey (your_api_key) '. Vous ne pouvez pas utiliser le nom d'utilisateur et mot de passe directement AFAIK. –

+0

Ok, je viens de le faire. –

4

Vous pouvez utiliser le client API Google Analytics en PHP. Google analytic api client library

Vous pouvez utiliser Query Explorer pour créer les requêtes à vérifier.

Exemple de code:

$analytics = new analytics('username', 'password'); 
$analytics->setProfileByName('user.name'); 
//set the date range for which you want stats for 
$analytics->setMonth(date('n'), date('Y')); 
// it could also be $analytics->setDateRange('YYYY-MM-DD', 'YYYY-MM-DD')) 
print_r($analytics->getVisitors()); 
print_r($analytics->getPageviews()); 

L'exemple ci-dessus a utilisé le client API Google Analytics en PHP. C'était la première bibliothèque publiée en PHP. Six ans plus tard, ce logiciel est obsolète. Google a modifié l'API. Vous pouvez également utiliser la bibliothèque GAPI. Ci-dessus est l'exemple de comment cela fonctionnerait, vous pouvez inclure la classe gapi pour le rendre fonctionnel.

GAPI Analytic Library

Une autre façon est que vous pouvez utiliser l'API Google Analytics rapports v4 pour PHP. Vous pouvez obtenir cela en utilisant le compositeur:

composer require google/apiclient:^2.0 

Guide to usage of this library is at github

+0

Merci. Pouvez-vous donner un exemple de code pour ce faire dans ce cas précis (c'est-à-dire obtenir le nombre de visiteurs d'un site web spécifique pour les 30 derniers jours)? – Basj

+0

Voici l'exemple de code pour obtenir des visiteurs et des vues par non. de jours. J'espère que cela vous aidera: '$ analytics = nouvelles analyses ('nom d'utilisateur', 'mot de passe'); $ analytics-> setProfileByName ('user.name'); // Définit la plage de dates pour laquelle vous voulez des statistiques pour $ analytics-> setMonth (date ('n'), date ('Y')); // il peut également s'agir de $ analytics-> setDateRange ('AAAA-MM-JJ', 'AAAA-MM-JJ')) print_r ($ analytics-> getVisitors()); print_r ($ analytics-> getPageviews()); ' J'ai également édité ma réponse ci-dessus avec le même. – Manu

+0

Merci. Votre code utilise-t-il [gapi-google-analytics-php-interface] (https://github.com/erebusnz/gapi-google-analytics-php-interface) comme expliqué dans [le lien que vous avez donné] (https://www.swis.nl/ga) ou une autre API? En effet votre code est différent: 'new analytics ('nom d'utilisateur', 'mot de passe');' quelle API est-ce? (quel fichier .php dois-je inclure?) – Basj