首頁 > 後端開發 > php教程 > 使用php:登錄的Google Analytics(分析)API

使用php:登錄的Google Analytics(分析)API

Lisa Kudrow
發布: 2025-02-19 12:19:09
原創
353 人瀏覽過

>本系列使用PHP使用Google Analytics(分析)API訪問Google Analytics(分析)數據。 示例中使用了Laravel和Homestead的改進,但這些概念適用於其他框架和環境。

密鑰概念:

    Google Analytics(分析)API需要使用Google Analytics(Analytics)API啟用Google Developers Console項目。 API憑據(客戶端ID,客戶端秘密,開發人員密鑰)是必不可少的。
  • > API包括多個組件:管理API(帳戶,屬性,查看配置),元數據API(維度,公制列表),核心報告API(儀表板數據),實時報告API(實時數據- Beta), Beta,Beta),嵌入API(儀表板嵌入)和MCF報告API(多通道漏斗)。本教程重點介紹管理,元數據和核心報告API。
  • 類處理身份驗證和令牌檢索。 它需要使用客戶端ID,客戶端秘密,開發人員密鑰,重定向URI和SCOPES配置配置。
  • API使用情況 api使用(每天/秒的請求)。 通過Google Cloud Console監視使用。
  • Google_Client
  • >先決條件:

Google Analytics(分析)帳戶。 熟悉Google Analytics(分析儀表板)。

  • 應用程序概述:
本教程構建了簡化的Google Analytics(Analytics Explorer Clone),重點介紹核心功能和可擴展性。

Google Analytics(分析)API詳細信息:

>

Google Analytics(Analytics)API的關鍵組件是:>

管理API:

訪問Google Analytics Configuration數據(帳戶,屬性,視圖,目標)。

    元數據API:
  • 檢索尺寸和指標的列表,避免了硬編碼。 >
  • >核心報告API:
  • 訪問儀表板數據;大多數任務的主要API。 >
  • 實時報告API(beta):訪問實時數據(當前在beta中)。
  • > >>嵌入API:允許使用JavaScript嵌入網站中的儀表板。
  • > MCF報告API:提供多通道Funnels數據。
  • 本教程使用管理,元數據和核心報告API。 基本API用法:
  • 在Google Developers Console中創建一個項目。
  • 啟用Google Analytics(Analytics)API。
獲得API憑據(客戶端ID,客戶端秘密,開發人員密鑰)。 創建一個新的客戶端ID(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請求限制(每天,每秒)。 有關詳細信息,請參閱官方文檔。

項目設置(laravel示例):>

    添加
  1. "google/api-client": "dev-master"並運行composer.jsoncomposer update
  2. create
  3. 帶有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'
];
登入後複製
    創建
  1. 用於API相互作用邏輯: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/srcinautoload和運行​​classmapcomposer.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
  2. 創建一個
> <>>
Route::get('/', 'HomeController@index');
Route::get('/login', 'HomeController@login');
登入後複製
  1. login.blade.php這將完成基本設置。 接下來的步驟將涉及將功能添加到
  2. >中,以使用Google Analytics(分析)API實際檢索數據。記住要適當處理潛在的錯誤。 提供的代碼是建立更完整的應用程序的基礎。 請諮詢Google Analytics(分析)API文檔,以獲取有關提出特定數據請求的詳細信息。
>

以上是使用php:登錄的Google Analytics(分析)API的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板