Maison > développement back-end > tutoriel php > Utilisation de l'API Google Analytics avec PHP: Connexion

Utilisation de l'API Google Analytics avec PHP: Connexion

Lisa Kudrow
Libérer: 2025-02-19 12:19:09
original
353 Les gens l'ont consulté

Cette série démontre l'utilisation de l'API Google Analytics avec PHP pour accéder aux données Google Analytics. Alors que Laravel et Homestead améliorés sont utilisés dans l'exemple, les concepts s'appliquent à d'autres cadres et environnements.

Concepts clés:

  • L'API Google Analytics nécessite un projet de console de développeurs Google avec l'API Google Analytics activé. Les informations d'identification de l'API (ID client, Secret client, Key Developer) sont essentielles.
  • L'API comprend plusieurs composants: API de gestion (compte, propriété, configuration de la vue), API de métadonnées (dimension, listes de métriques), API de rapport de base (données de tableau de bord), API de rapport en temps réel (données en temps réel - bêta), API ENCHED (Tableau de bord Embedding) et API de rapport MCF (entonnoirs multicanaux). Ce tutoriel se concentre sur la gestion, les métadonnées et les API de rapport de base.
  • La classe Google_Client gère l'authentification et la récupération de jetons. Il nécessite une configuration avec l'ID client, le secret du client, la clé du développeur, la redirection URI et les lunettes.
  • L'utilisation de l'API est soumise à des quotas (demandes par jour / seconde). Surveillez l'utilisation via la console Google Cloud.

Prérequis:

  • un compte Google Analytics.
  • Familiarité avec le tableau de bord Google Analytics.

Présentation de l'application:

Ce tutoriel construit un clone d'explorateur Google Analytics simplifié, en se concentrant sur la fonctionnalité et l'extensibilité de base.

Détails de l'API Google Analytics:

Les composants clés de l'API Google Analytics sont:

  • API de gestion: accède aux données de configuration de Google Analytics (comptes, propriétés, vues, objectifs).
  • API Metadata: Récupère des listes de dimensions et de métriques, en évitant la codage rigide.
  • API de rapport de base: accède aux données du tableau de bord; L'API primaire pour la plupart des tâches.
  • API de rapport en temps réel (bêta): accède aux données en temps réel (actuellement en bêta).
  • API ENCHED: Permet d'intégrer des tableaux de bord dans des sites Web à l'aide de JavaScript.
  • API de rapport MCF: Fournit des données d'entonnoir multicanaux.

Ce tutoriel utilise les API de gestion, de métadonnées et de rapport de base.

Utilisation de base de l'API:

  1. Créer un projet dans la console Google Developers.
  2. Activer l'API Google Analytics.
  3. Obtenez des informations d'identification de l'API (ID client, Secret client, clé de développement). Créez un nouvel ID client (type d'application Web), en spécifiant l'URL de votre site Web (par exemple, localhost:8000 pour le développement) et redirigez URI. Générez une touche de navigateur (facultatif: spécifiez les références HTTP ou laissez en blanc pour toute origine).

Using the Google Analytics API with PHP: Logging In

Using the Google Analytics API with PHP: Logging In

Using the Google Analytics API with PHP: Logging In

Using the Google Analytics API with PHP: Logging In

Limites et quotas de l'API:

Soyez conscient des limites de demande d'API (par jour, par seconde). Reportez-vous à la documentation officielle pour plus de détails.

Configuration du projet (exemple de Laravel):

  1. Ajouter "google/api-client": "dev-master" à composer.json et exécuter composer update.
  2. Créer app/config/analytics.php avec des informations d'identification API:
return [
    'app_name'          => 'Your app name',
    'client_id'         => 'Your Client ID',
    'client_secret'     => 'Your Client Secret',
    'api_key'           => 'Your API Key'
];
Copier après la connexion
  1. Créer app/src/GA_Service.php pour la logique d'interaction API:
<?php

namespace App\Src;

use Config;
use Google_Client;
use Session;
use Input;
use View;

class GA_Service {
    private $client;

    public function __construct(Google_Client $client) {
        $this->client = $client;
        $this->init();
    }

    private function init() {
        $this->client->setClientId(Config::get('analytics.client_id'));
        $this->client->setClientSecret(Config::get('analytics.client_secret'));
        $this->client->setDeveloperKey(Config::get('analytics.api_key'));
        $this->client->setRedirectUri('http://localhost:8000/login'); // Adjust as needed
        $this->client->setScopes(['https://www.googleapis.com/auth/analytics']);
    }

    public function isLoggedIn() {
        if (isset($_SESSION['token'])) {
            $this->client->setAccessToken($_SESSION['token']);
            return true;
        }
        return false;
    }

    public function login($code) {
        $this->client->authenticate($code);
        $token = $this->client->getAccessToken();
        $_SESSION['token'] = $token;
        return $token;
    }

    public function getLoginUrl() {
        return $this->client->createAuthUrl();
    }

    // Add methods for data retrieval, etc. here...
}
Copier après la connexion
  1. Ajouter app/src au autoload - & gt; classmap dans composer.json et exécuter composer dump-autoload.

  2. Modifier app/controllers/HomeController.php (ou votre contrôleur équivalent):

<?php

use App\Src\GA_Service;

class HomeController extends BaseController {
    private $ga;

    public function __construct(GA_Service $ga) {
        $this->ga = $ga;
    }

    public function index() {
        if ($this->ga->isLoggedIn()) {
            // Show home page with data
            return "You are logged in!"; // Replace with actual data display
        } else {
            $url = $this->ga->getLoginUrl();
            return View::make('login', ['url' => $url]);
        }
    }

    public function login() {
        if (Input::has('code')) {
            $code = Input::get('code');
            $token = $this->ga->login($code);
            return "Login successful! Token: " . $token; // Replace with redirection
        } else {
            return "Invalid request parameters";
        }
    }
}
Copier après la connexion
  1. Mettez à jour vos itinéraires dans app/routes.php:
Route::get('/', 'HomeController@index');
Route::get('/login', 'HomeController@login');
Copier après la connexion
  1. Créer une vue login.blade.php:
<a href="https://www.php.cn/link/846437e17a8d1d5f37fe3bb0e1762499">Login with Google</a>
Copier après la connexion

Ceci termine la configuration de base. Les étapes suivantes impliqueraient d'ajouter des fonctions à GA_Service.php pour récupérer réellement des données à l'aide de l'API Google Analytics. N'oubliez pas de gérer les erreurs potentielles de manière appropriée. Le code fourni est une base sur laquelle créer une application plus complète. Consultez la documentation de l'API Google Analytics pour plus de détails sur la création de demandes de données spécifiques.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal