কোর রিপোর্টিং API - বিকাশকারী গাইড

এই দস্তাবেজটি ব্যাখ্যা করে যে কীভাবে Google Analytics ডেটা অ্যাক্সেস করতে কোর রিপোর্টিং API ব্যবহার করতে হয়।

ভূমিকা

কোর রিপোর্টিং এপিআই গুগল অ্যানালিটিক্স স্ট্যান্ডার্ড এবং কাস্টম রিপোর্টে ট্যাবুলার ডেটাতে অ্যাক্সেস প্রদান করে। ডেটা অ্যাক্সেস করতে, আপনি একটি ক্যোয়ারী তৈরি করেন যা নির্দিষ্ট করে: ভিউ (প্রোফাইল), শুরু এবং শেষের তারিখ এবং টেবিলের কলাম হেডার তৈরি করে এমন মাত্রা এবং মেট্রিক্স। এই ক্যোয়ারীটি কোর রিপোর্টিং এপিআইতে পাঠানো হয় এবং কোর রিপোর্টিং এপিআই একটি টেবিলের আকারে সমস্ত ডেটা প্রদান করে।

আপনি যদি এপিআই-এ নতুন হয়ে থাকেন, কোর রিপোর্টিং এপিআই এর উদ্দেশ্য এবং এটি যে ডেটা প্রদান করে তার পরিচিতির জন্য কোর রিপোর্টিং এপিআই ওভারভিউ পড়ুন।

তুমি শুরু করার আগে

এই নির্দেশিকা জাভা, পাইথন, পিএইচপি, এবং জাভাস্ক্রিপ্ট প্রোগ্রামিং ভাষা ব্যবহার করে কিভাবে Google Analytics API অ্যাক্সেস করতে হয় তা প্রদর্শন করে।

  • API এর সাথে কাজ করে এমন প্রোগ্রামিং ভাষা নির্দিষ্ট ক্লায়েন্ট লাইব্রেরির একটি সম্পূর্ণ তালিকার জন্য ক্লায়েন্ট লাইব্রেরি পৃষ্ঠাটি পড়ুন।
  • ক্লায়েন্ট লাইব্রেরি ছাড়া API অ্যাক্সেস করতে রেফারেন্স গাইড পড়ুন।

প্রতিটি ক্লায়েন্ট লাইব্রেরি সমস্ত কোর রিপোর্টিং API ডেটা অ্যাক্সেস করার জন্য একটি একক বিশ্লেষণ পরিষেবা অবজেক্ট প্রদান করে। পরিষেবা অবজেক্ট তৈরি করতে আপনাকে সাধারণত নিম্নলিখিত ধাপগুলি অতিক্রম করতে হবে:

  1. Google API কনসোলে আপনার অ্যাপ্লিকেশন নিবন্ধন করুন৷
  2. Google Analytics ডেটা অ্যাক্সেস অনুমোদন করুন।
  3. একটি বিশ্লেষণ সেবা বস্তু তৈরি করুন.

আপনি যদি এই ধাপগুলি সম্পূর্ণ না করে থাকেন, তাহলে দয়া করে থামুন এবং Hello Google Analytics API টিউটোরিয়াল পড়ুন। এই টিউটোরিয়ালটি আপনাকে গুগল অ্যানালিটিক্স এপিআই অ্যাপ্লিকেশন তৈরির প্রাথমিক ধাপের মাধ্যমে নিয়ে যাবে। একবার সম্পূর্ণ হলে, আপনি বাস্তব-বিশ্বের কাজগুলি সম্পাদন করতে এই নির্দেশিকাটি ব্যবহার করতে সক্ষম হবেন।

নিম্নলিখিত কোড স্নিপেটে একটি অনুমোদিত পরিষেবা বস্তু সংরক্ষণ করার জন্য একটি পরিবর্তনশীল রয়েছে।

জাভা

Analytics analytics = // Read Hello Analytics Tutorial for details.

পাইথন

analytics = # Read Hello Analytics Tutorial for details.

পিএইচপি

$client = // Read Hello Analytics Tutorial for details.

// Return results as objects.
$client->setUseObjects(true);

$analytics = new apiAnalyticsService($client);

পিএইচপি লাইব্রেরি একটি সহযোগী অ্যারে হিসাবে সমস্ত API ফলাফল ফিরিয়ে দেবে। পরিবর্তে বাস্তব বস্তু ফেরত দিতে, আপনি উপরের উদাহরণে প্রদর্শিত হিসাবে ক্লায়েন্ট useObject পদ্ধতি কল করতে পারেন।

জাভাস্ক্রিপ্ট

<script src="https://apis.google.com/js/client.js?onload=loadLib"</script>
<script>
function loadLib() {
  // Handle all the authorization work.
  // Read Hello Analytics Tutorial for details.
  gapi.client.load('analytics', 'v3', makeApiCall);
}
</script>

প্রথম স্ক্রিপ্ট ট্যাগটি Google API জাভাস্ক্রিপ্ট লাইব্রেরি লোড করে। একবার লোড হয়ে গেলে, বিশ্লেষণ পরিষেবা ক্লাস লোড করার জন্য loadLib কার্যকর করা হয়। একবার সম্পূর্ণ হলে, অবজেক্ট gapi.client.analytics এ থাকা উচিত এবং কোর রিপোর্টিং API-কে জিজ্ঞাসা করার জন্য ব্যবহার করার জন্য প্রস্তুত হওয়া উচিত।

একবার আপনি একটি অ্যানালিটিক্স সার্ভিস অবজেক্ট তৈরি করলে, আপনি কোর রিপোর্টিং এপিআইতে অনুরোধ করতে প্রস্তুত।

দ্রষ্টব্য : ম্যানেজমেন্ট এপিআই অ্যাক্সেস করতেও অ্যানালিটিক্স সার্ভিস অবজেক্ট ব্যবহার করা যেতে পারে।

ওভারভিউ

কোর রিপোর্টিং API ব্যবহার করে এমন একটি অ্যাপ্লিকেশন সাধারণত 2টি ধাপ অনুসরণ করবে:

  • কোর রিপোর্টিং এপিআই জিজ্ঞাসা করুন
  • API ফলাফলের সাথে কাজ করুন

এর উভয় ধাপ তাকান.

কোর রিপোর্টিং এপিআই জিজ্ঞাসা করুন

একটি কোর রিপোর্টিং API ক্যোয়ারী তৈরি করুন

অ্যানালিটিক্স সার্ভিস অবজেক্টে একটি কোর রিপোর্টিং API ক্যোয়ারী তৈরি করার একটি পদ্ধতি রয়েছে।

প্রতিটি কোর রিপোর্টিং API ক্যোয়ারীতে প্যারামিটারের একটি সেট থাকে যা নির্দিষ্ট করে দেয় কোন ডেটা ফেরত দিতে হবে।

সবচেয়ে গুরুত্বপূর্ণ ক্যোয়ারী প্যারামিটারগুলির মধ্যে একটি হল ids প্যারামিটার বা টেবিল আইডি। এই প্যারামিটারটি নির্দিষ্ট করে যে কোনটি থেকে Google Analytics ভিউ (প্রোফাইল) ডেটা পুনরুদ্ধার করতে হবে। মানটি ga:xxx ফর্ম্যাটে যেখানে xxx হল ভিউ (প্রোফাইল) আইডি।

জাভা

Get apiQuery = analytics.data().ga()
    .get(tableId,                  // Table Id.
        "2012-01-01",              // Start date.
        "2012-01-15",              // End date.
        "ga:sessions")               // Metrics.
    .setDimensions("ga:source,ga:keyword")
    .setSort("-ga:sessions,ga:source")
    .setFilters("ga:medium==organic")
    .setMaxResults(25);

পাইথন

api_query = service.data().ga().get(
    ids=TABLE_ID,
    start_date='2012-01-01',
    end_date='2012-01-15',
    metrics='ga:sessions',
    dimensions='ga:source,ga:keyword',
    sort='-ga:sessions,ga:source',
    filters='ga:medium==organic',
    max_results='25')

পিএইচপি

private function queryCoreReportingApi() {
  $optParams = array(
      'dimensions' => 'ga:source,ga:keyword',
      'sort' => '-ga:sessions,ga:source',
      'filters' => 'ga:medium==organic',
      'max-results' => '25');

  return $service->data_ga->get(
      TABLE_ID,
      '2010-01-01',
      '2010-01-15',
      'ga:sessions',
      $optParams);
}

এই লাইব্রেরিতে, get মেথড শুধুমাত্র একটি কোর রিপোর্টিং API ক্যোয়ারী তৈরি করে না, কিন্তু API-কে অনুরোধও চালায়।

জাভাস্ক্রিপ্ট

function makeApiCall() {
  var apiQuery = gapi.client.analytics.data.ga.get({
    'ids': TABLE_ID,
    'start-date': '2010-01-01',
    'end-date': '2010-01-15',
    'metrics': 'ga:sessions',
    'dimensions': 'ga:source,ga:keyword',
    'sort': '-ga:sessions,ga:source',
    'filters': 'ga:medium==organic',
    'max-results': 25
  });
  // ...
}

এই উদাহরণে, জাভাস্ক্রিপ্ট ক্লায়েন্ট লাইব্রেরি লোড হয়ে গেলে makeApiCall ফাংশনটি কল করা হয়। ভিতরে, ফাংশনটি একটি নতুন Google Analytics API ক্যোয়ারী তৈরি করে এবং বস্তুটিকে apiQuery ভেরিয়েবলে সংরক্ষণ করে।

সমস্ত ক্যোয়ারী প্যারামিটারের একটি সম্পূর্ণ তালিকা এবং তারা যা করে তা কোর রিপোর্টিং API রেফারেন্স গাইডে পাওয়া যাবে। এছাড়াও মাত্রা এবং মেট্রিক পরামিতিগুলি আপনাকে Google Analytics থেকে কোন ডেটা পুনরুদ্ধার করতে হবে তা নির্দিষ্ট করার অনুমতি দেয়। একটি সম্পূর্ণ তালিকা মাত্রা এবং মেট্রিক্স রেফারেন্স পৃষ্ঠায় পাওয়া যাবে।

একটি কোর রিপোর্টিং API ডেটা অনুরোধ করা

একবার আপনার কাছে একটি ক্যোয়ারী সংজ্ঞায়িত হয়ে গেলে, আপনি Google Analytics সার্ভারে ক্যোয়ারী পাঠানোর জন্য এটিকে execute মেথড বলবেন।

জাভা

try {
  apiQuery.execute();
  // Success. Do something cool!

} catch (GoogleJsonResponseException e) {
  // Catch API specific errors.
  handleApiError(e);

} catch (IOException e) {
  // Catch general parsing network errors.
  e.printStackTrace();
}

আপনি যদি পরিবর্তে কাঁচা API প্রতিক্রিয়া অ্যাক্সেস করতে চান তবে executeUnparsed() পদ্ধতি ব্যবহার করুন:

HttpResponse response = apiQuery.executeUnparsed();

পাইথন

try:
  results = get_api_query(service).execute()
  print_results(results)

except TypeError, error:
  # Handle errors in constructing a query.
  print ('There was an error in constructing your query : %s' % error)

except HttpError, error:
  # Handle API service errors.
  print ('There was an API error : %s : %s' %
         (error.resp.status, error._get_reason()))

পিএইচপি

  try {
    $results = queryCoreReportingApi();
    // Success. Do something cool!

  } catch (apiServiceException $e) {
    // Handle API service exceptions.
    $error = $e->getMessage();
  }

জাভাস্ক্রিপ্ট

function makeApiCall() {
  // ...

  apiQuery.execute(handleCoreReportingResults);
}

function handleCoreReportingResults(results) {
  if (!results.error) {
    // Success. Do something cool!
  } else {
    alert('There was an error: ' + results.message);
  }
}

এই উদাহরণটি পূর্ববর্তী ধাপ থেকে অনুসরণ করে যেখানে একটি কোর রিপোর্টিং API ক্যোয়ারী তৈরি করা হয়েছিল। এই ধাপে, ক্যোয়ারী কার্যকর করা হয়। execute মেথডের প্যারামিটার হল একটি কলব্যাক ফাংশনের একটি রেফারেন্স যা API থেকে ডেটা ফেরত দেওয়ার পরে কার্যকর করা হবে।

একবার এপিআই ফলাফল সহ ফিরে আসে, কলব্যাক ফাংশনটি কার্যকর করা হয় এবং API থেকে ডেটা পাস করা হয়। যদি একটি ত্রুটি ঘটে, ফলাফলে error নামে একটি সম্পত্তি থাকবে।

এই উদাহরণে, error বিদ্যমান কিনা বা API সফলভাবে ফিরে এসেছে কিনা তা দেখতে একটি পরীক্ষা করা হয়।

ক্যোয়ারী সফল হলে, API অনুরোধ করা ডেটা ফেরত দেবে। কোনো ত্রুটি দেখা দিলে, API একটি নির্দিষ্ট স্থিতি কোড এবং ত্রুটি বর্ণনাকারী একটি বার্তা প্রদান করবে। সমস্ত অ্যাপ্লিকেশন সঠিকভাবে ধরা এবং ত্রুটি পরিচালনা করা উচিত.

API ফলাফল নিয়ে কাজ করা

কোর রিপোর্টিং এপিআই ক্যোয়ারী সফল হলে, এপিআই অ্যানালিটিক্স রিপোর্টিং ডেটার পাশাপাশি ডেটা সম্পর্কিত অন্যান্য সম্পর্কিত তথ্যের সাথে ফেরত দেয়।

বিশ্লেষণ রিপোর্টিং তথ্য

API থেকে প্রত্যাবর্তিত প্রধান ডেটা 2টি প্রধান ধরণের ডেটা সহ একটি টেবিল হিসাবে বিবেচনা করা যেতে পারে:

  • হেডার যেটি প্রতিটি কলামের মানের প্রকার বর্ণনা করে
  • টেবিলে ডেটার সারি

কলাম হেডার ডেটা

প্রতিটি API প্রতিক্রিয়া একটি কলাম শিরোনাম ক্ষেত্র রয়েছে যা টেবিলের শিরোনাম তথ্য প্রতিনিধিত্ব করে। ক্ষেত্র হল বস্তুর একটি তালিকা (বা একটি অ্যারে) যেখানে প্রতিটি বস্তু কলামে ডেটার ধরন বর্ণনা করে। কলামের ক্রম হল ডাইমেনশন কলাম এবং তার পরে মেট্রিক কলাম একই ক্রমে মূল ক্যোয়ারীতে উল্লেখ করা হয়েছে।

জাভা

private void printColumnHeaders(GaData gaData) {
 System.out.println("Column Headers:");

 for (GaDataColumnHeaders header : gaData.getColumnHeaders()) {
   System.out.println("Column Name: " + header.getName());
   System.out.println("Column Type: " + header.getColumnType());
   System.out.println("Column Data Type: " + header.getDataType());
 }
}

পাইথন

def print_column_headers():
  headers = results.get('columnHeaders')

  for header in headers:
    # Print Dimension or Metric name.
    print 'Column name = %s' % header.get('name'))
    print 'Column Type = %s' % header.get('columnType')
    print 'Column Data Type = %s' % header.get('dataType')

পিএইচপি

private function printColumnHeaders(&results) {
  $html = '';
  $headers = $results->getColumnHeaders();

  foreach ($headers as $header) {
    $html .= <<<HTML
Column Name = {$header->getName()}
Column Type = {$header->getColumnType()}
Column Data Type = {$header->getDataType()}
HTML;

  print $html;
}

জাভাস্ক্রিপ্ট

function printColumnHeaders(results) {
  var output = [];

  for (var i = 0, header; header = results.columnHeaders[i]; ++i) {
    output.push(
        'Name        = ', header.name, '\n',
        'Column Type = ', header.columnType, '\n',
        'Data Type   = ', header.dataType, '\n'
    );
  }

  alert(output.join(''));
}

সারি ডেটা

API থেকে প্রত্যাবর্তিত প্রধান ডেটা স্ট্রিংগুলির একটি 2-মাত্রিক List হিসাবে ফেরত দেওয়া হয়। বাইরের তালিকা ডেটার সমস্ত সারি প্রতিনিধিত্ব করে। প্রতিটি অভ্যন্তরীণ তালিকা একটি একক সারির প্রতিনিধিত্ব করে, যেখানে একটি সারিতে কক্ষের ক্রম উপরে বর্ণিত কলাম হেডার অবজেক্টের ক্ষেত্রের মতোই।

যেহেতু প্রতিটি কক্ষের ডেটা একটি স্ট্রিং হিসাবে ফেরত দেওয়া হয়, তাই প্রতিটি কলাম হেডার অবজেক্টের DataType ক্ষেত্রটি বিশেষভাবে কার্যকর কারণ এটি স্ট্রিং মানগুলিকে একটি উপযুক্ত প্রকারে পার্স করতে ব্যবহার করা যেতে পারে। সমস্ত সম্ভাব্য ডেটা প্রকারের জন্য মেটাডেটা API প্রতিক্রিয়া দেখুন।

নিম্নলিখিত উদাহরণগুলি টেবিলের শিরোনাম এবং সারি উভয়ই প্রিন্ট করে।

জাভা

private void printDataTable(GaData gaData) {
 if (gaData.getTotalResults() > 0) {
   System.out.println("Data Table:");

   // Print the column names.
   for (GaDataColumnHeaders header : gaData.getColumnHeaders()) {
     System.out.format("%-32s", header.getName() + '(' + header.getDataType() + ')');
   }
   System.out.println();

   // Print the rows of data.
   for (List<String> rowValues : gaData.getRows()) {
     for (String value : rowValues) {
       System.out.format("%-32s", value);
     }
     System.out.println();
   }
 } else {
   System.out.println("No Results Found");
 }

পাইথন

def print_data_table(results):
  # Print headers.
  output = []
  for header in results.get('columnHeaders'):
    output.append('%30s' % header.get('name'))
  print ''.join(output)

  # Print rows.
  if results.get('rows', []):
    for row in results.get('rows'):
      output = []
      for cell in row:
        output.append('%30s' % cell)
      print ''.join(output)
  else:
    print 'No Results Found'

পিএইচপি

private function printDataTable(&$results) {
  if (count($results->getRows()) > 0) {
    $table .= '<table>';

    // Print headers.
    $table .= '<tr>';

    foreach ($results->getColumnHeaders() as $header) {
      $table .= '<th>' . $header->name . '</th>';
    }
    $table .= '</tr>';

    // Print table rows.
    foreach ($results->getRows() as $row) {
      $table .= '<tr>';
        foreach ($row as $cell) {
          $table .= '<td>'
                 . htmlspecialchars($cell, ENT_NOQUOTES)
                 . '</td>';
        }
      $table .= '</tr>';
    }
    $table .= '</table>';

  } else {
    $table .= '<p>No Results Found.</p>';
  }
  print $table;
}

জাভাস্ক্রিপ্ট

function printRows(results) {
  output = [];

  if (results.rows && results.rows.length) {
    var table = ['<table>'];

    // Put headers in table.
    table.push('<tr>');
    for (var i = 0, header; header = results.columnHeaders[i]; ++i) {
      table.push('<th>', header.name, '</th>');
    }
    table.push('</tr>');

    // Put cells in table.
    for (var i = 0, row; row = results.rows[i]; ++i) {
      table.push('<tr><td>', row.join('</td><td>'), '</td></tr>');
    }
    table.push('</table>');

    output.push(table.join(''));
  } else {
    output.push('<p>No Results Found</p>');
  }

  alert(output.join(''));
}

রিপোর্ট তথ্য

মূল টেবিল ডেটার সাথে, API থেকে প্রত্যাবর্তিত ডেটাতে প্রতিক্রিয়া সম্পর্কে কিছু উচ্চ স্তরের তথ্য রয়েছে। আপনি এটি ব্যবহার করে মুদ্রণ করতে পারেন:

জাভা

private void printResponseInfo(GaData gaData) {
  System.out.println("Contains Sampled Data: " + gaData.getContainsSampledData());
  System.out.println("Kind: " + gaData.getKind());
  System.out.println("ID:" + gaData.getId());
  System.out.println("Self link: " + gaData.getSelfLink());
}

পাইথন

def print_response_info(results):
  print 'Contains Sampled Data = %s' % results.get('containsSampledData')
  print 'Kind                  = %s' % results.get('kind')
  print 'ID                    = %s' % results.get('id')
  print 'Self Link             = %s' % results.get('selfLink')

পিএইচপি

private function printReportInfo(&$results) {
  $html = <<<HTML
  <pre>
Contains Sampled Data = {$results->getContainsSampledData()}
Kind                  = {$results->getKind()}
ID                    = {$results->getId()}
Self Link             = {$results->getSelfLink()}
</pre>
HTML;

  print $html;
}

জাভাস্ক্রিপ্ট

function printReportInfo(results) {
  var output = [];

  output.push(
      'Contains Sampled Data  = ', results.containsSampledData, '\n',
      'Kind                   = ', results.kind, '\n',
      'ID                     = ', results.id, '\n',
      'Self Link              = ', results.selfLink, '\n');

  alert(output.join(''));
}

containsSampledData ক্ষেত্রটি গুরুত্বপূর্ণ কারণ এটি API প্রতিক্রিয়া নমুনা করা হয়েছে কিনা তা বর্ণনা করে। স্যাম্পলিং আপনার ডেটার ফলাফলকে প্রভাবিত করতে পারে এবং একটি সাধারণ কারণ কেন API থেকে প্রত্যাবর্তিত মানগুলি ওয়েব ইন্টারফেসের সাথে মেলে না। আরো বিস্তারিত জানার জন্য নমুনা ধারণা নির্দেশিকা দেখুন।

দেখুন (প্রোফাইল) তথ্য

প্রতিটি প্রতিক্রিয়াতে প্যারামিটারগুলির একটি গ্রুপ রয়েছে যা এই ডেটার অন্তর্গত অ্যাকাউন্ট, ওয়েব প্রপার্টি এবং ভিউ (প্রোফাইল) নির্দেশ করে৷

জাভা

private void printProfileInfo(GaData gaData) {
  GaDataProfileInfo profileInfo = gaData.getProfileInfo();

  System.out.println("Account ID: " + profileInfo.getAccountId());
  System.out.println("Web Property ID: " + profileInfo.getWebPropertyId());
  System.out.println("Internal Web Property ID: " + profileInfo.getInternalWebPropertyId());
  System.out.println("View (Profile) ID: " + profileInfo.getProfileId());
  System.out.println("View (Profile) Name: " + profileInfo.getProfileName());
  System.out.println("Table ID: " + profileInfo.getTableId());
}

পাইথন

def print_profile_info(result):

  info = results.get('profileInfo')
  print 'Account Id          = %s' % info.get('accountId')
  print 'Web Property Id     = %s' % info.get('webPropertyId')
  print 'Web Property Id     = %s' % info.get('internalWebPropertyId')
  print 'View (Profile) Id   = %s' % info.get('profileId')
  print 'Table Id            = %s' % info.get('tableId')
  print 'View (Profile) Name = %s' % info.get('profileName')

পিএইচপি

private function printProfileInformation(&$results) {
  $profileInfo = $results->getProfileInfo();

  $html = <<<HTML
<pre>
Account ID               = {$profileInfo->getAccountId()}
Web Property ID          = {$profileInfo->getWebPropertyId()}
Internal Web Property ID = {$profileInfo->getInternalWebPropertyId()}
Profile ID               = {$profileInfo->getProfileId()}
Table ID                 = {$profileInfo->getTableId()}
Profile Name             = {$profileInfo->getProfileName()}
</pre>
HTML;

  print $html;
}

জাভাস্ক্রিপ্ট

function printProfileInfo(results) {
  var output = [];

  var info = results.profileInfo;
  output.push(

      'Account Id          = ', info.accountId, '\n',
      'Web Property Id     = ', info.webPropertyId, '\n',
      'View (Profile) Id   = ', info.profileId, '\n',
      'Table Id            = ', info.tableId, '\n',
      'View (Profile) Name = ', info.profileName);

  alert(output.join(''));
}

এই আইডিগুলির প্রতিটি ম্যানেজমেন্ট API অনুক্রমের বিভিন্ন সত্তার সাথে মিলে যায়। আপনি ভিউ (প্রোফাইল) সম্পর্কে অতিরিক্ত কনফিগারেশন তথ্য পেতে ম্যানেজমেন্ট এপিআই কোয়েরি তৈরি করতে এই আইডিগুলি ব্যবহার করতে পারেন। উদাহরণ স্বরূপ, আপনি ম্যানেজমেন্ট এপিআই গোলস সংগ্রহে প্রশ্ন করতে পারেন যে কোন লক্ষ্যগুলি তাদের কনফিগার করা লক্ষ্যের নামের সাথে সক্রিয় আছে।

তথ্য অনুসন্ধান করুন

প্রতিটি কোর রিপোর্টিং এপিআই প্রতিক্রিয়াতে একটি বস্তু থাকে যাতে প্রতিক্রিয়া তৈরি করতে ব্যবহৃত সমস্ত ক্যোয়ারী প্যারামিটার মান থাকে।

জাভা

private void printQueryInfo(GaData gaData) {
  GaDataQuery query = gaData.getQuery();

  System.out.println("Ids: " + query.getIds());
  System.out.println("Start Date: " + query.getStartDate());
  System.out.println("End Date: " + query.getEndDate());
  System.out.println("Metrics: " + query.getMetrics()); // List
  System.out.println("Dimensions: " + query.getDimensions());
  System.out.println("Sort: " + query.getSort()); // List
  System.out.println("Segment: " + query.getSegment());
  System.out.println("Filters: " + query.getFilters());
  System.out.println("Start Index: " + query.getStartIndex());
  System.out.println("Max Results: " + query.getMaxResults());
}

পাইথন

def print_query_info(results):
  query = results.get('query')
  for key, value in query.iteritems():
    print '%s = %s' % (key, value)

পিএইচপি

private function printQueryParameters(&$results) {
  $query = $results->getQuery();

  $html = '<pre>';
  foreach ($query as $paramName => $value) {
    $html .= "$paramName = $value\n";
  }
  $html .= '</pre>';

  print $html;
}

জাভাস্ক্রিপ্ট

function printQuery(results) {
  output = [];

  for (var key in results.query) {
    output.push(key, ' = ', results.query[key], '\n');
  }

  alert(output.join(''));
}

metrics এবং sort পরামিতিগুলি একটি তালিকার মান হিসাবে ফেরত দেওয়া হয়, যখন অন্যান্য পরামিতিগুলি স্ট্রিং হিসাবে ফেরত দেওয়া হয়।

পৃষ্ঠা সংখ্যা তথ্য

যেকোন কোর রিপোর্টিং API অনুরোধ Google Analytics ডেটার কয়েক হাজার সারিগুলির সাথে মেলে। কোর রিপোর্টিং API একটি নির্দিষ্ট সময়ে শুধুমাত্র একটি উপসেট প্রদান করবে, যা ডেটার একটি একক পৃষ্ঠা হিসাবে উল্লেখ করা যেতে পারে। আপনি ডেটার সমস্ত পৃষ্ঠা পুনরুদ্ধার করতে পৃষ্ঠা সংখ্যা ক্ষেত্রগুলি ব্যবহার করেন৷

জাভা

private void printPaginationInfo(GaData gaData) {
  System.out.println("Items Per Page: " + gaData.getItemsPerPage());
  System.out.println("Total Results: " + gaData.getTotalResults());
  System.out.println("Previous Link: " + gaData.getPreviousLink());
  System.out.println("Next Link: " + gaData.getNextLink());
}

পাইথন

def print_pagination_info(results):
  print 'Items per page = %s' % results.get('itemsPerPage')
  print 'Total Results  = %s' % results.get('totalResults')
  print 'Previous Link  = %s' % results.get('previousLink')
  print 'Next Link      = %s' % results.get('nextLink')

পিএইচপি

private function getPaginationInfo(&$results) {
  $html = <<<HTML
<pre>
Items per page = {$results->getItemsPerPage()}
Total results  = {$results->getTotalResults()}
Previous Link  = {$results->getPreviousLink()}
Next Link      = {$results->getNextLink()}
</pre>
HTML;

  print $html;
}

জাভাস্ক্রিপ্ট

function printPaginationInfo(results) {
  var output = [];

  output.push(
      'Items Per Page = ', results.itemsPerPage, '\n',
      'Total Results  = ', results.totalResults, '\n',
      'Previous Link  = ', results.previousLink, '\n',
      'Next Link      = ', results.nextLink, '\n');

  alert(output.join(''));
}

totalResults ক্ষেত্রটি আপনার ক্যোয়ারীটি Google Analytics-এ মিলেছে এমন ডেটার মোট সারিগুলির প্রতিনিধিত্ব করে৷ এটি প্রতিক্রিয়ার একটি একক পৃষ্ঠায় ফিরে আসা সারির প্রকৃত সংখ্যার চেয়ে বেশি হতে পারে। itemsPerPage ক্ষেত্রটি এই পৃষ্ঠায় প্রত্যাবর্তিত সারির সংখ্যা উপস্থাপন করে।

previousLink লিঙ্ক এবং nextLink পরামিতিগুলি শুধুমাত্র তখনই উপস্থিত থাকে যদি পূর্ববর্তী বা পরবর্তী পৃষ্ঠা থাকে। কোর রিপোর্টিং API থেকে ডেটার আরও পৃষ্ঠাগুলি পুনরুদ্ধার করা যায় কিনা তা দেখতে এই লিঙ্কগুলি পরীক্ষা করুন৷

সমস্ত ফলাফলের জন্য মোট

উপরে পেজিনেশন তথ্য বিভাগে উল্লিখিত হিসাবে, কোর রিপোর্টিং এপিআই-এর একটি ক্যোয়ারী Google Analytics-এ ডেটার অনেক সারি মেলে, কিন্তু শুধুমাত্র ডেটার একটি উপসেট ফেরত দেয়। সমস্ত মিলে যাওয়া সারির জন্য মোট মেট্রিক মান totalsForAllResults অবজেক্টে ফেরত দেওয়া হয়। এই ডেটা গড় গণনা করার জন্য দরকারী।

জাভা

private void printTotalsForAllResults(GaData gaData) {
  Map totalsMap = gaData.getTotalsForAllResults();

  for (Map.Entry entry : totalsMap.entrySet()) {
    System.out.println(entry.getKey() + " : " + entry.getValue());
  }
}

পাইথন

def print_totals_for_all_results(results):
  totals = results.get('totalsForAllResults')

  for metric_name, metric_total in totals.iteritems():
    print 'Metric Name  = %s' % metric_name
    print 'Metric Total = %s' % metric_total

পিএইচপি

private function printTotalsForAllResults(&$results) {
  $totals = $results->getTotalsForAllResults();

  foreach ($totals as $metricName => $metricTotal) {
    $html .= "Metric Name  = $metricName\n";
    $html .= "Metric Total = $metricTotal";
  }

  print $html;
}

জাভাস্ক্রিপ্ট

function printTotalsForAllResults(results) {
  var output = [];

  var totals = results.totalsForAllResults;
  for (metricName in totals) {
    output.push(
        'Metric Name  = ', metricName, '\n',
        'Metric Total = ', totals[metricName], '\n');
  }

  alert(output.join(''));
}

কাজের নমুনা

সম্পূর্ণ কাজের নমুনা দেখতে প্রতিটি ক্লায়েন্ট লাইব্রেরির নমুনা ডিরেক্টরিতে কোর রিপোর্টিং API নমুনা দেখুন।

জাভা

গুগল এপিআই জাভা ক্লায়েন্ট লাইব্রেরি কোর রিপোর্টিং এপিআই নমুনা

পাইথন

Google API Python ক্লায়েন্ট লাইব্রেরি কোর রিপোর্টিং API নমুনা

পিএইচপি

Google API PHP ক্লায়েন্ট লাইব্রেরি কোর রিপোর্টিং API নমুনা

জাভাস্ক্রিপ্ট

Google API JavaScript ক্লায়েন্ট লাইব্রেরি কোর রিপোর্টিং API নমুনা

জাভাস্ক্রিপ্ট উৎস