ホームページ > バックエンド開発 > PHPチュートリアル > PHPでGoogle Analytics APIを使用してください:ログインします

PHPでGoogle Analytics APIを使用してください:ログインします

Lisa Kudrow
リリース: 2025-02-19 12:19:09
オリジナル
352 人が閲覧しました

このシリーズは、Google Analytics APIを使用してPHPを使用してGoogle Analyticsデータにアクセスすることを実証しています。 LaravelとHomeSteadの改善は例で使用されていますが、概念は他のフレームワークや環境に適用されます。

重要な概念:

Google Analytics APIには、Google Analytics APIが有効になっているGoogle Developers Console Projectが必要です。 API資格情報(クライアントID、クライアントシークレット、開発者キー)が不可欠です。
    APIには、管理API(アカウント、プロパティ、ビュー構成)、メタデータAPI(寸法、メトリックリスト)、コアレポートAPI(ダッシュボードデータ)、リアルタイムレポートAPI(リアルタイムデータ - ベータ版)、いくつかのコンポーネントで構成されています。埋め込みAPI(ダッシュボード埋め込み)、およびMCFレポートAPI(マルチチャネルファンネル)。このチュートリアルは、管理、メタデータ、およびコアレポートAPIに焦点を当てています。
  • クラスは認証とトークンの取得を処理します。 クライアントID、クライアントシークレット、開発者キー、リダイレクトURI、およびスコープを使用した構成が必要です。
  • APIの使用は、クォータの対象となります(1日あたりのリクエスト/秒)。 Google Cloud Consoleを介して使用の使用を監視します
  • Google_Client前提条件:
Google Analyticsアカウント。

Google Analyticsダッシュボードに精通しています。

    アプリケーションの概要:
  • このチュートリアルは、コア機能と拡張性に焦点を当てた簡略化されたGoogleアナリティクスエクスプローラークローンを構築します。
Google Analytics APIの詳細:

Google Analytics APIの重要なコンポーネントは次のとおりです

Management API: Google Analytics構成データ(アカウント、プロパティ、ビュー、目標)にアクセスします。

メタデータAPI:寸法とメトリックのリストを取得し、ハードコードを回避します。

コアレポートAPI:

ダッシュボードデータにアクセスします。ほとんどのタスクのプライマリAPI。
  • リアルタイムレポートAPI(ベータ):リアルタイムデータ(現在はベータ版)にアクセスします。
  • 埋め込みAPI:javaScriptを使用してWebサイトにダッシュボードを埋め込むことができます
  • MCFレポートAPI:
  • マルチチャンネルファンネルデータを提供します。 このチュートリアルでは、管理、メタデータ、およびコアレポートAPIを使用しています。
  • 基本的なAPI使用量:
  • Google Developers Consoleでプロジェクトを作成します Google Analytics APIを有効にします API資格情報(クライアントID、クライアントシークレット、開発者キー)を取得します。 新しいクライアントID(Webアプリケーションタイプ)を作成し、WebサイトのURL(開発の場合は
  • など)を指定し、URIをリダイレクトします。 ブラウザキーを生成します(オプション:httpリファラーを指定するか、任意の原点のために空白のままにしてください)。
  • 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

    APIの制限と割り当て:

    API要求の制限(1日あたり、1秒あたり)に注意してください。 詳細については、公式のドキュメントを参照してください

    プロジェクトのセットアップ(Laravelの例):

  1. "google/api-client": "dev-master"に追加し、composer.jsoncomposer updateを実行します
  2. api資格情報を使用して
  3. を作成します: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'
];
ログイン後にコピー
APIインタラクションロジックの
    作成
  1. 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...
}
ログイン後にコピー
  1. - &gt;に追加します。 app/srcin autoload and runclassmapcomposer.json composer dump-autoload

  2. 変更
  3. (または同等のコントローラー):

    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";
        }
    }
}
ログイン後にコピー
ルートを更新してください
  1. app/routes.php
Route::get('/', 'HomeController@index');
Route::get('/login', 'HomeController@login');
ログイン後にコピー
    ビューを作成:
  1. login.blade.php
これにより、基本的なセットアップが完了します。 次のステップでは、
<a href="https://www.php.cn/link/846437e17a8d1d5f37fe3bb0e1762499">Login with Google</a>
ログイン後にコピー
に関数を追加して、Google Analytics APIを使用して実際にデータを取得することが含まれます。潜在的なエラーを適切に処理することを忘れないでください。 提供されたコードは、より完全なアプリケーションを構築するための基盤です。 特定のデータリクエストの作成に関する詳細については、Google Analytics APIドキュメントを参照してください。

以上がPHPでGoogle Analytics APIを使用してください:ログインしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート