হ্যালো অ্যানালিটিক্স রিপোর্টিং API v4; ওয়েব অ্যাপ্লিকেশনের জন্য পিএইচপি কুইকস্টার্ট,হ্যালো অ্যানালিটিক্স রিপোর্টিং API v4; ওয়েব অ্যাপ্লিকেশনের জন্য পিএইচপি কুইকস্টার্ট

এই টিউটোরিয়ালটি অ্যানালিটিক্স রিপোর্টিং API v4 অ্যাক্সেস করার জন্য প্রয়োজনীয় পদক্ষেপের মধ্য দিয়ে চলে।

1. API সক্রিয় করুন

অ্যানালিটিক্স রিপোর্টিং API v4 ব্যবহার করা শুরু করার জন্য, আপনাকে প্রথমে সেটআপ টুল ব্যবহার করতে হবে, যা আপনাকে Google API কনসোলে একটি প্রকল্প তৈরি, API সক্ষম করা এবং শংসাপত্র তৈরি করার মাধ্যমে গাইড করে৷

দ্রষ্টব্য: একটি ওয়েব ক্লায়েন্ট আইডি বা একটি ইনস্টল করা অ্যাপ্লিকেশন ক্লায়েন্ট তৈরি করতে, আপনাকে সম্মতি স্ক্রিনে একটি পণ্যের নাম সেট করতে হবে। যদি আপনি ইতিমধ্যে তা না করে থাকেন তাহলে আপনাকে কনসেন্ট স্ক্রীন কনফিগার করতে বলা হবে।

শংসাপত্র তৈরি করুন

  • শংসাপত্র পৃষ্ঠা খুলুন.
  • ক্রেডেনশিয়াল তৈরি করুন ক্লিক করুন এবং OAuth ক্লায়েন্ট আইডি নির্বাচন করুন
  • অ্যাপ্লিকেশন প্রকারের জন্য ওয়েব অ্যাপ্লিকেশন নির্বাচন করুন।
  • ক্লায়েন্ট আইডির নাম দিন কুইকস্টার্ট এবং তৈরি করুন ক্লিক করুন।
  • অনুমোদিত জাভাস্ক্রিপ্টের উৎসগুলি ফাঁকা রাখুন, এই টিউটোরিয়ালের জন্য এটির প্রয়োজন নেই।
  • অনুমোদিত রিডাইরেক্ট ইউআরআইগুলিকে http://localhost:8080/oauth2callback.php এ সেট করুন
  • তৈরি করুন ক্লিক করুন।

শংসাপত্র পৃষ্ঠা থেকে নতুন তৈরি ক্লায়েন্ট আইডিতে ক্লিক করুন এবং JSON ডাউনলোড করুন ক্লিক করুন এবং এটি client_secrets.json হিসাবে সংরক্ষণ করুন; আপনার টিউটোরিয়ালে পরে এটি প্রয়োজন হবে।

2. ক্লায়েন্ট লাইব্রেরি ইনস্টল করুন

আপনি কম্পোজার ব্যবহার করে PHP-এর জন্য Google APIs ক্লায়েন্ট লাইব্রেরি পেতে পারেন:

composer require google/apiclient:^2.0

3. নমুনা সেটআপ করুন

আপনাকে দুটি ফাইল তৈরি করতে হবে:

  • index.php ব্যবহারকারীর দ্বারা পরিদর্শন করা প্রধান পৃষ্ঠা হবে।
  • oauth2callback.php OAuth 2.0 প্রতিক্রিয়া পরিচালনা করবে

index.php

এই ফাইলটিতে গুগল অ্যানালিটিক্স এপিআই অনুসন্ধান এবং ফলাফল প্রদর্শনের জন্য প্রধান যুক্তি রয়েছে।

<?php

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

session_start();

$client = new Google_Client();
$client->setAuthConfig(__DIR__ . '/client_secrets.json');
$client->addScope(Google_Service_Analytics::ANALYTICS_READONLY);


// If the user has already authorized this app then get an access token
// else redirect to ask the user to authorize access to Google Analytics.
if (isset($_SESSION['access_token']) && $_SESSION['access_token']) {
  // Set the access token on the client.
  $client->setAccessToken($_SESSION['access_token']);

  // Create an authorized analytics service object.
  $analytics = new Google_Service_AnalyticsReporting($client);

  // Call the Analytics Reporting API V4.
  $response = getReport($analytics);

  // Print the response.
  printResults($response);

} else {
  $redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . '/oauth2callback.php';
  header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL));
}


/**
 * 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");
        }
      }
    }
  }
}


oauth2callback.php

এই ফাইলটি OAuth 2.0 প্রতিক্রিয়া পরিচালনা করে। oauth2callback.php এ দ্বিতীয় নমুনা কোডটি কপি বা ডাউনলোড করুন

<?php

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

// Start a session to persist credentials.
session_start();

// Create the client object and set the authorization configuration
// from the client_secrets.json you downloaded from the Developers Console.
$client = new Google_Client();
$client->setAuthConfig(__DIR__ . '/client_secrets.json');
$client->setRedirectUri('http://' . $_SERVER['HTTP_HOST'] . '/oauth2callback.php');
$client->addScope(Google_Service_Analytics::ANALYTICS_READONLY);

// Handle authorization flow from the server.
if (! isset($_GET['code'])) {
  $auth_url = $client->createAuthUrl();
  header('Location: ' . filter_var($auth_url, FILTER_SANITIZE_URL));
} else {
  $client->authenticate($_GET['code']);
  $_SESSION['access_token'] = $client->getAccessToken();
  $redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . '/';
  header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL));
}


4. নমুনা চালান

পিএইচপি পরিবেশন করার জন্য কনফিগার করা একটি ওয়েব সার্ভারের সাথে নমুনাটি চালান। আপনি যদি PHP 5.4 বা নতুন ব্যবহার করেন, তাহলে আপনি নিম্নলিখিত কমান্ডটি কার্যকর করে PHP-এর বিল্ট-ইন টেস্ট ওয়েব সার্ভার ব্যবহার করতে পারেন:

php -S localhost:8080 -t /path/to/sample

তারপর আপনার ব্রাউজারে http://localhost:8080 দেখুন।

আপনি যখন এই ধাপগুলি শেষ করেন, নমুনাটি প্রদত্ত দৃশ্যের জন্য গত সাত দিনের সেশনের সংখ্যা বের করে।

,

এই টিউটোরিয়ালটি অ্যানালিটিক্স রিপোর্টিং API v4 অ্যাক্সেস করার জন্য প্রয়োজনীয় পদক্ষেপের মধ্য দিয়ে চলে।

1. API সক্রিয় করুন

অ্যানালিটিক্স রিপোর্টিং API v4 ব্যবহার করা শুরু করার জন্য, আপনাকে প্রথমে সেটআপ টুল ব্যবহার করতে হবে, যা আপনাকে Google API কনসোলে একটি প্রকল্প তৈরি, API সক্ষম করা এবং শংসাপত্র তৈরি করার মাধ্যমে গাইড করে৷

দ্রষ্টব্য: একটি ওয়েব ক্লায়েন্ট আইডি বা একটি ইনস্টল করা অ্যাপ্লিকেশন ক্লায়েন্ট তৈরি করতে, আপনাকে সম্মতি স্ক্রিনে একটি পণ্যের নাম সেট করতে হবে। যদি আপনি ইতিমধ্যে তা না করে থাকেন তাহলে আপনাকে কনসেন্ট স্ক্রীন কনফিগার করতে বলা হবে।

শংসাপত্র তৈরি করুন

  • শংসাপত্র পৃষ্ঠা খুলুন.
  • ক্রেডেনশিয়াল তৈরি করুন ক্লিক করুন এবং OAuth ক্লায়েন্ট আইডি নির্বাচন করুন
  • অ্যাপ্লিকেশন প্রকারের জন্য ওয়েব অ্যাপ্লিকেশন নির্বাচন করুন।
  • ক্লায়েন্ট আইডির নাম দিন কুইকস্টার্ট এবং তৈরি করুন ক্লিক করুন।
  • অনুমোদিত জাভাস্ক্রিপ্টের উৎসগুলি ফাঁকা রাখুন, এই টিউটোরিয়ালের জন্য এটির প্রয়োজন নেই।
  • অনুমোদিত রিডাইরেক্ট ইউআরআইগুলিকে http://localhost:8080/oauth2callback.php এ সেট করুন
  • তৈরি করুন ক্লিক করুন।

শংসাপত্র পৃষ্ঠা থেকে নতুন তৈরি ক্লায়েন্ট আইডিতে ক্লিক করুন এবং JSON ডাউনলোড করুন ক্লিক করুন এবং এটি client_secrets.json হিসাবে সংরক্ষণ করুন; আপনার টিউটোরিয়ালে পরে এটি প্রয়োজন হবে।

2. ক্লায়েন্ট লাইব্রেরি ইনস্টল করুন

আপনি কম্পোজার ব্যবহার করে PHP-এর জন্য Google APIs ক্লায়েন্ট লাইব্রেরি পেতে পারেন:

composer require google/apiclient:^2.0

3. নমুনা সেটআপ করুন

আপনাকে দুটি ফাইল তৈরি করতে হবে:

  • index.php ব্যবহারকারীর দ্বারা পরিদর্শন করা প্রধান পৃষ্ঠা হবে।
  • oauth2callback.php OAuth 2.0 প্রতিক্রিয়া পরিচালনা করবে

index.php

এই ফাইলটিতে গুগল অ্যানালিটিক্স এপিআই অনুসন্ধান এবং ফলাফল প্রদর্শনের জন্য প্রধান যুক্তি রয়েছে।

<?php

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

session_start();

$client = new Google_Client();
$client->setAuthConfig(__DIR__ . '/client_secrets.json');
$client->addScope(Google_Service_Analytics::ANALYTICS_READONLY);


// If the user has already authorized this app then get an access token
// else redirect to ask the user to authorize access to Google Analytics.
if (isset($_SESSION['access_token']) && $_SESSION['access_token']) {
  // Set the access token on the client.
  $client->setAccessToken($_SESSION['access_token']);

  // Create an authorized analytics service object.
  $analytics = new Google_Service_AnalyticsReporting($client);

  // Call the Analytics Reporting API V4.
  $response = getReport($analytics);

  // Print the response.
  printResults($response);

} else {
  $redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . '/oauth2callback.php';
  header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL));
}


/**
 * 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");
        }
      }
    }
  }
}


oauth2callback.php

এই ফাইলটি OAuth 2.0 প্রতিক্রিয়া পরিচালনা করে। oauth2callback.php এ দ্বিতীয় নমুনা কোডটি কপি বা ডাউনলোড করুন

<?php

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

// Start a session to persist credentials.
session_start();

// Create the client object and set the authorization configuration
// from the client_secrets.json you downloaded from the Developers Console.
$client = new Google_Client();
$client->setAuthConfig(__DIR__ . '/client_secrets.json');
$client->setRedirectUri('http://' . $_SERVER['HTTP_HOST'] . '/oauth2callback.php');
$client->addScope(Google_Service_Analytics::ANALYTICS_READONLY);

// Handle authorization flow from the server.
if (! isset($_GET['code'])) {
  $auth_url = $client->createAuthUrl();
  header('Location: ' . filter_var($auth_url, FILTER_SANITIZE_URL));
} else {
  $client->authenticate($_GET['code']);
  $_SESSION['access_token'] = $client->getAccessToken();
  $redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . '/';
  header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL));
}


4. নমুনা চালান

পিএইচপি পরিবেশন করার জন্য কনফিগার করা একটি ওয়েব সার্ভারের সাথে নমুনাটি চালান। আপনি যদি PHP 5.4 বা নতুন ব্যবহার করেন, তাহলে আপনি নিম্নলিখিত কমান্ডটি কার্যকর করে PHP-এর বিল্ট-ইন টেস্ট ওয়েব সার্ভার ব্যবহার করতে পারেন:

php -S localhost:8080 -t /path/to/sample

তারপর আপনার ব্রাউজারে http://localhost:8080 দেখুন।

আপনি যখন এই ধাপগুলি শেষ করেন, নমুনাটি প্রদত্ত দৃশ্যের জন্য গত সাত দিনের সেশনের সংখ্যা বের করে।