Home  >  Article  >  Backend Development  >  How to authenticate with Google Analytics using PHP and OAuth

How to authenticate with Google Analytics using PHP and OAuth

WBOY
WBOYOriginal
2023-07-28 20:01:531462browse

How to use PHP and OAuth for Google Analytics authentication

Summary:
Google Analytics is a tool widely used for website traffic analysis. In order to access and manipulate Google Analytics data, we need to authenticate. OAuth is an authorization framework that can help us perform secure third-party identity authentication to access user data in applications. This article will teach you how to authenticate with Google Analytics using PHP and OAuth.

1. Create Google API applications and credentials

  1. Log in to the Google API console (https://console.developers.google.com/)
  2. Create A new project, set the project name and enable the Google Analytics API
  3. Configure the project's "Credentials" option. Under the Credentials tab, click the Create Credentials button and select OAuth Client ID.
  4. In the next step, select the type of application and set relevant parameters. For example, select the "Web Application" type and set the redirect URI.
  5. After creating the credentials, the system will generate a pair of Client ID and Client Secret for you.

2. Install the Google API client library

  1. Open a terminal or command prompt, switch to the root directory of your project, and execute the following command:

    composer require google/apiclient
  2. After the installation is complete, you can find the Google API client library in the "vendor" folder under the project directory.

3. Write authentication code

<?php
require_once 'vendor/autoload.php';

session_start();

$client = new Google_Client();
$client->setAuthConfig('path/to/client_secret.json'); //输入您的Client Secret路径
$client->addScope(Google_Service_Analytics::ANALYTICS_READONLY);

// 检查是否已认证
if (isset($_SESSION['access_token']) && $_SESSION['access_token']) {
    $client->setAccessToken($_SESSION['access_token']);
} else {
    // 如果没有已保存的凭证,跳转到Google认证页面
    $redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . '/oauth2callback.php'; //输入您的回调URI
    header('Location: ' . $client->createAuthUrl());
    exit;
}

// 认证成功后,保存凭证
$_SESSION['access_token'] = $client->getAccessToken();

4. Write callback processing code

<?php
require_once 'vendor/autoload.php';

session_start();

$client = new Google_Client();
$client->setAuthConfig('path/to/client_secret.json'); //输入您的Client Secret路径
$client->addScope(Google_Service_Analytics::ANALYTICS_READONLY);

// 检查是否已认证
if (isset($_SESSION['access_token']) && $_SESSION['access_token']) {
    $client->setAccessToken($_SESSION['access_token']);
} else {
    // 如果没有已保存的凭证,跳转到Google认证页面
    $redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . '/oauth2callback.php'; //输入您的回调URI
    header('Location: ' . $client->createAuthUrl());
    exit;
}

// 检查认证是否成功
if (isset($_GET['code'])) {
    $client->authenticate($_GET['code']);
    $_SESSION['access_token'] = $client->getAccessToken();
    header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL));
}

// 创建Google Analytics服务
$service = new Google_Service_Analytics($client);
// 进一步处理...

5. Use authentication credentials to access Google Analytics data

// 创建Google Analytics服务
$service = new Google_Service_Analytics($client);
// 获取所有Google Analytics帐户
$accounts = $service->management_accounts->listManagementAccounts();

foreach ($accounts->getItems() as $account) {
    echo '账户名称:' . $account->getName() . '<br>';
    echo '账户ID:' . $account->getId() . '<br>';
    echo '网站名称:' . $account->getWebProperties()[0]->getName() . '<br>';
}

6. Summary
This article introduces how to use PHP and OAuth for Google Analytics authentication. By creating a Google API application and credentials, installing the Google API client library, and writing authentication and callback handling code, you can successfully authenticate and access Google Analytics data. Hope this article helps you!

The above is the detailed content of How to authenticate with Google Analytics using PHP and OAuth. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn