Siri ini menunjukkan menggunakan API Google Analytics dengan PHP untuk mengakses data Google Analytics. Walaupun Laravel dan Homestead bertambah baik digunakan dalam contoh, konsep -konsep yang digunakan untuk rangka kerja dan persekitaran yang lain.
Konsep Utama:
Google_Client
mengendalikan pengesahan dan pengambilan token. Ia memerlukan konfigurasi dengan ID Pelanggan, Rahsia Pelanggan, Kunci Pemaju, Redirect URI, dan Skop. Prasyarat:
Gambaran keseluruhan aplikasi:
Tutorial ini membina klon Explorer Google Analytics yang dipermudahkan, memberi tumpuan kepada fungsi dan kelanjutan teras.
Butiran API Google Analytics:
Penggunaan API Asas:
localhost:8000
Had API dan kuota:
sedar had permintaan API (setiap hari, sesaat). Rujuk dokumentasi rasmi untuk butiran.
Persediaan Projek (Contoh Laravel):
tambah
ke"google/api-client": "dev-master"
composer.json
create composer update
dengan kelayakan API: app/config/analytics.php
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
<?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... }
dalam app/src
dan jalan autoload
. classmap
composer.json
composer dump-autoload
app/controllers/HomeController.php
<?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>
Atas ialah kandungan terperinci Menggunakan API Google Analytics dengan PHP: Logging In. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!