このシリーズは、Google Analytics APIを使用してPHPを使用してGoogle Analyticsデータにアクセスすることを実証しています。 LaravelとHomeSteadの改善は例で使用されていますが、概念は他のフレームワークや環境に適用されます。
重要な概念:Google Analytics APIには、Google Analytics APIが有効になっているGoogle Developers Console Projectが必要です。 API資格情報(クライアントID、クライアントシークレット、開発者キー)が不可欠です。
Google_Client
前提条件:Google Analyticsダッシュボードに精通しています。
Google Analytics APIの重要なコンポーネントは次のとおりです
Management API:メタデータAPI:寸法とメトリックのリストを取得し、ハードコードを回避します。
コアレポートAPI:
ダッシュボードデータにアクセスします。ほとんどのタスクのプライマリAPI。
APIの制限と割り当て:
API要求の制限(1日あたり、1秒あたり)に注意してください。 詳細については、公式のドキュメントを参照してください
プロジェクトのセットアップ(Laravelの例):
"google/api-client": "dev-master"
に追加し、composer.json
。composer update
を実行します
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... }
- &gt;に追加します。 app/src
in autoload
and runclassmap
。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>
以上がPHPでGoogle Analytics APIを使用してください:ログインしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。