Hello Analytics Reporting API v4; شروع سریع PHP برای حساب های خدمات

این آموزش مراحل لازم برای دسترسی به Analytics Reporting API v4 را طی می کند.

1. API را فعال کنید

برای شروع استفاده از Analytics Reporting API v4، ابتدا باید از ابزار setup استفاده کنید که شما را از طریق ایجاد پروژه در Google API Console، فعال کردن API و ایجاد اعتبارنامه راهنمایی می‌کند.

اعتبارنامه ایجاد کنید

  1. صفحه حساب های سرویس را باز کنید. اگر از شما خواسته شد، یک پروژه را انتخاب کنید.
  2. روی ایجاد حساب سرویس کلیک کنید، نام و توضیحاتی را برای حساب سرویس وارد کنید. می‌توانید از شناسه حساب پیش‌فرض سرویس استفاده کنید یا یک شناسه متفاوت و منحصر به فرد را انتخاب کنید. پس از اتمام روی Create کلیک کنید.
  3. بخش مجوزهای حساب سرویس (اختیاری) که در زیر آمده است مورد نیاز نیست. روی Continue کلیک کنید.
  4. در صفحه Grant users access to this service account account ، به قسمت Create key بروید. روی کلید ایجاد کلیک کنید.
  5. در پانل کناری که ظاهر می شود، قالب کلید خود را انتخاب کنید: JSON توصیه می شود.
  6. روی ایجاد کلیک کنید. جفت کلید عمومی/خصوصی جدید شما تولید و در دستگاه شما دانلود می شود. به عنوان تنها کپی این کلید عمل می کند. برای اطلاعات در مورد نحوه ذخیره ایمن آن، به مدیریت کلیدهای حساب سرویس مراجعه کنید.
  7. روی Close روی کلید خصوصی ذخیره شده در گفتگوی رایانه خود کلیک کنید، سپس روی Done کلیک کنید تا به جدول حساب های خدمات خود بازگردید.

حساب سرویس را به حساب Google Analytics اضافه کنید

حساب سرویس جدید ایجاد شده دارای آدرس ایمیلی است که شبیه به موارد زیر است:

quickstart@PROJECT-ID.iam.gserviceaccount.com

از این آدرس ایمیل برای افزودن کاربری به نمای Google Analytics که می‌خواهید از طریق API به آن دسترسی داشته باشید، استفاده کنید. برای این آموزش فقط به مجوزهای Read & Analyze نیاز است.

2. کتابخانه مشتری را نصب کنید

با استفاده از Composer می‌توانید Google APIs Client Library را برای PHP دریافت کنید:

composer require google/apiclient:^2.0

3. نمونه را راه اندازی کنید

شما باید یک فایل به نام HelloAnalytics.php ایجاد کنید که حاوی کد نمونه زیر باشد.

  • کد منبع زیر را در HelloAnalytics.php کپی یا دانلود کنید .
  • service-account-credentials.json دانلود شده قبلی را به همان فهرست کد نمونه منتقل کنید.
  • مقدار VIEW_ID را جایگزین کنید. برای یافتن شناسه View می توانید از Account Explorer استفاده کنید.

HelloAnalytics.php

<?php

// Load the Google API PHP Client Library.
require_once __DIR__ . '/vendor/autoload.php';

$analytics = initializeAnalytics();
$response = getReport($analytics);
printResults($response);


/**
 * Initializes an Analytics Reporting API V4 service object.
 *
 * @return An authorized Analytics Reporting API V4 service object.
 */
function initializeAnalytics()
{

  // Use the developers console and download your service account
  // credentials in JSON format. Place them in this directory or
  // change the key file location if necessary.
  $KEY_FILE_LOCATION = __DIR__ . '/service-account-credentials.json';

  // Create and configure a new client object.
  $client = new Google_Client();
  $client->setApplicationName("Hello Analytics Reporting");
  $client->setAuthConfig($KEY_FILE_LOCATION);
  $client->setScopes(['https://www.googleapis.com/auth/analytics.readonly']);
  $analytics = new Google_Service_AnalyticsReporting($client);

  return $analytics;
}


/**
 * Queries the Analytics Reporting API V4.
 *
 * @param service An authorized Analytics Reporting API V4 service object.
 * @return The Analytics Reporting API V4 response.
 */
function getReport($analytics) {

  // Replace with your view ID, for example XXXX.
  $VIEW_ID = "<REPLACE_WITH_VIEW_ID>";

  // Create the DateRange object.
  $dateRange = new Google_Service_AnalyticsReporting_DateRange();
  $dateRange->setStartDate("7daysAgo");
  $dateRange->setEndDate("today");

  // Create the Metrics object.
  $sessions = new Google_Service_AnalyticsReporting_Metric();
  $sessions->setExpression("ga:sessions");
  $sessions->setAlias("sessions");

  // Create the ReportRequest object.
  $request = new Google_Service_AnalyticsReporting_ReportRequest();
  $request->setViewId($VIEW_ID);
  $request->setDateRanges($dateRange);
  $request->setMetrics(array($sessions));

  $body = new Google_Service_AnalyticsReporting_GetReportsRequest();
  $body->setReportRequests( array( $request) );
  return $analytics->reports->batchGet( $body );
}


/**
 * Parses and prints the Analytics Reporting API V4 response.
 *
 * @param An Analytics Reporting API V4 response.
 */
function printResults($reports) {
  for ( $reportIndex = 0; $reportIndex < count( $reports ); $reportIndex++ ) {
    $report = $reports[ $reportIndex ];
    $header = $report->getColumnHeader();
    $dimensionHeaders = $header->getDimensions();
    $metricHeaders = $header->getMetricHeader()->getMetricHeaderEntries();
    $rows = $report->getData()->getRows();

    for ( $rowIndex = 0; $rowIndex < count($rows); $rowIndex++) {
      $row = $rows[ $rowIndex ];
      $dimensions = $row->getDimensions();
      $metrics = $row->getMetrics();
      for ($i = 0; $i < count($dimensionHeaders) && $i < count($dimensions); $i++) {
        print($dimensionHeaders[$i] . ": " . $dimensions[$i] . "\n");
      }

      for ($j = 0; $j < count($metrics); $j++) {
        $values = $metrics[$j]->getValues();
        for ($k = 0; $k < count($values); $k++) {
          $entry = $metricHeaders[$k];
          print($entry->getName() . ": " . $values[$k] . "\n");
        }
      }
    }
  }
}

4. نمونه را اجرا کنید

نمونه را با استفاده از:

php HelloAnalytics.php

وقتی این مراحل را تمام کردید، نمونه تعداد جلسات هفت روز گذشته را برای نمای داده شده خروجی می دهد.