API Google

 Charge moyenne sur 1mn : 0.50 Charge moyenne sur 5mn : 0.56 Charge moyenne sur 15mn : 0.51


Applications Programing Interfaces Google

Google APIs are services offered by Google to allow other Web Masters to interact with our Google data from their own websites.





Site user blocks : Account info / user rights / summary

Identify yourself

Authenticate with your ZW3B account and take advantage of member services.

Username :
Password :
  
  

Comment récupérer des valeurs google analytics et les afficher sur votre site

Utiliser ce code PHP pour initialiser un compte de service et afficher les pages actives sur votre site Web - API Google Analytics

Informations :

Dates
  • Publish : : Tuesday 05 october 2021

  • 22 views

Share :

Je vous écris une petite documentation pour travailler avec les API Google.

Je souhaite accéder à mon compte Google Analytics grâce à l'API Google Analytics pour afficher des valeurs sur mon site Web - ZW3B.Site :-: Stats.

Comment-faire ?

Créer un compte de Service

Dans un premier temps, il faut créer dans votre Console Cloud Plateform sur la page Identifiants un Compte de Service - un email.

Par exemple : google-analytics@PROJECT-ID.iam.gserviceaccount.com

Récupérer les JSON de compte de Service pour l'envoyer dans la variable setAuthConfigFile au moment de l'initialisation.

Je viens de m'apercevoir que Google API développeurs nous conseille d'utiliser :

Les clés de compte de service peuvent présenter un risque de sécurité si elles sont compromises. Nous vous recommandons d'éviter de télécharger les clés de compte de service et d'utiliser plutôt la fédération d'identité de charge de travail . Pour en savoir plus sur le meilleur moyen d'authentifier les comptes de service sur Google Cloud, cliquez ici.

Autoriser le compte de service à pourvoir accéder à votre compte Analytics

Il faudra lui (cette adresse email de compte de service) donner accès à votre compte Google Analytics depuis la plateforme Google Analytics.

  1. Selectionner un de vos tags/propriétés Analytics
  2. Cliquer en bas, sur Admin
  3. Puis dans les paramètres de Vues -> Sélectionner Gestion des accès à la vue
  4. Puis ajouter l'email du compte de service en Lire et analyser par exemple.

Script PHP

Si vous n'avez pas encore installer les APIs Google, vous pouvez le faire facilement avec composer.

Initialise mon compte PHP

J'initialise le client pour accéder à Google Analytics.

Script avec 50 lignes

001[php]
002// Je précise que j'ai installé l'API Google_Client avec composer.
003
004function initializeCompteservice() {
005    
006    if(file_exists('/var/pro/web_lib/php/vendor/google/apiclient/src/vendor/autoload.php'))
007        require_once  $dir_web_lib.'vendor/autoload.php';
008        
009        try {
010            
011            $client = new Google_Client();
012            // API
013            $client->setApplicationName('API Google Analytics test');
014            // Comptes de service (par exemple dans un répertoire hors web)
015            $client->setAuthConfigFile('/etc/google/google-analytics-iam.gserviceaccount.com.json');
016            
017            // https://developers.google.com/identity/protocols/oauth2/scopes#analytics
018            $client->setScopes(
019                array(
020                    # API Google Analytics , v3 - https://developers.google.com/analytics
021                    'https://www.googleapis.com/auth/analytics.readonly' // Afficher vos données Google Analytics
022                    /*, 'https://www.googleapis.com/auth/analytics' // Affichez et gérez vos données Google Analytics
023                     , 'https://www.googleapis.com/auth/analytics.edit' // Modifier les entités de gestion de Google Analytics
024                     , 'https://www.googleapis.com/auth/analytics.manage.users' // Gérer les utilisateurs du compte Google Analytics par adresse e-mail
025                     , 'https://www.googleapis.com/auth/analytics.manage.users.readonly' // Afficher les autorisations des utilisateurs de Google Analytics
026                     , 'https://www.googleapis.com/auth/analytics.provision' // Créer un nouveau compte Google Analytics avec sa propriété et sa vue par défaut
027                     , 'https://www.googleapis.com/auth/analytics.user.deletion' // Gérer les demandes de suppression d'utilisateurs Google Analytics
028                     */
029                )
030            );
031            
032            $redirect_uri = 'https://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
033            
034            $client->setRedirectUri($redirect_uri);
035            
036        }
037        catch (Google_Service_Exception $e) {
038            //$error = sprintf('<p>A service error occurred: <code>%s</code></p>',
039            $error = ($e->getMessage());
040            $error = json_decode($error);
041        }
042        catch (Google_Exception $e) {
043            //$error = sprintf('<p>An client error occurred: <code>%s</code></p>',
044            $error = ($e->getMessage());
045            $error = json_decode($error);
046        }
047        
048        return isset($client) && is_object($client) ? $client : $error;
049}
050[/php]

Récupération des valeurs realtime

Je vous écris un script pour afficher les pages Web des internautes actifs sur une des vue (Site Web) Analytics.

Script avec 33 lignes

001[php]
002function get_active_users($id_view, $analytics) {
003    
004    $id_view = isset($id_view) ? $id_view : '95109434';
005    
006    $metrics  = 'rt:activeUsers';
007    
008    // 7 parametres dans les dimensions maximum
009    $queryParams = array(
010        'dimensions' => 'rt:pageTitle,rt:pagePath,rt:country,rt:city,rt:browser,rt:operatingSystem,rt:operatingSystemVersion',
011        'max-results' => 10
012    );
013    
014    try {
015        
016        $results = $analytics->data_realtime->get('ga:'.$id_view.'', $metrics, $queryParams);
017        
018    }
019    catch (Google_Service_Exception $e) {
020        //$error = sprintf('<p>A service error occurred: <code>%s</code></p>',
021        $error = ($e->getMessage());
022        $error = json_decode($error);
023    }
024    catch (Google_Exception $e) {
025        //$error = sprintf('<p>An client error occurred: <code>%s</code></p>',
026        $error = ($e->getMessage());
027        $error = json_decode($error);
028    }
029    
030    return isset($results) && is_object($results) ? $results : $error;
031    
032}
033[/php]

Tester :

Script avec 36 lignes

001[php]
002$ga['website'] = 'howto.zw3b.fr';
003$ga['id_view'] = '95109434'; // ID de la vue (et non du tag Analytics)
004
005$analytics = initializeCompteservice();
006$realtime = get_active_users($ga['id_view'], $analytics);
007
008$datas['rows'] = isset($realtime->rows) && is_array($realtime->rows) ? $realtime->rows : null;
009
010// Je re-écris les valeurs (avec des noms) - rows[0] est la 1ère valeur envoyée dans la $queryParams['dimensions'].
011if(isset($datas['rows']) && is_array($datas['rows'])):
012foreach($datas['rows'] as $c => $rows) {
013    
014    $dat['rows'][$c]['title'] = $rows[0];
015    $dat['rows'][$c]['url'] = '//'.$ga['website'].''.$rows[1];
016    $dat['rows'][$c]['internaute']['country'] = $rows[2];
017    $dat['rows'][$c]['internaute']['city'] = $rows[3];
018    $dat['rows'][$c]['internaute']['browser'] = $rows[4];
019    $dat['rows'][$c]['internaute']['operatingSystem'] = ''.$rows[5].' '.$rows[6];
020    
021}
022endif;
023
024// Puis enfin le résultat
025
026if(isset($dat['rows']) && is_array($dat['rows'])):
027echo '<ul>';
028foreach($dat['rows'] as $rows) {
029    
030    echo '<li><a href="'.$rows['url'].'">'.$rows['title'].'</a></li>';
031    
032}
033echo '</ul>';
034endif;
035
036[/php]

Çà doit fonctionner - Sans avoir essayer ce script (juste ci-dessus) :/


API Google Analytics : Creating a Realtime Report
API Google Analytics : Realtime Dimensions & Metrics






Translate this page with Google

Author of the page

O.Romain.Jaillet-ramey

O.Romain.Jaillet-ramey

  • Firstname : Olivier Romain Luc
  • Lastname : : Jaillet-ramey
  • Arrived on tuesday 19 october 1976 (1976/10/19 00:00)
    45 years activity !

Firefox Nighlty

Our friends from Framasoft are interested in Mozilla and asked them questions about Nightly: Firefox Night-club, free entry !






Valid XHTML 1.0 Strict CSS Valide !

ipv6 ready