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:
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. Prérequis:
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:
Ce tutoriel utilise les API de gestion, de métadonnées et de rapport de base.
Utilisation de base de l'API:
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).
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):
"google/api-client": "dev-master"
à composer.json
et exécuter composer update
. 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' ];
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... }
Ajouter app/src
au autoload
- & gt; classmap
dans composer.json
et exécuter composer dump-autoload
.
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"; } } }
app/routes.php
: Route::get('/', 'HomeController@index'); Route::get('/login', 'HomeController@login');
login.blade.php
: <a href="https://www.php.cn/link/846437e17a8d1d5f37fe3bb0e1762499">Login with Google</a>
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!