Core Reporting API - डेवलपर गाइड

इस दस्तावेज़ में Google Analytics डेटा को ऐक्सेस करने के लिए, Core Reporting API के इस्तेमाल का तरीका बताया गया है.

शुरुआती जानकारी

Core Reporting API की मदद से, Google Analytics की स्टैंडर्ड और कस्टम रिपोर्ट में टेबल के तौर पर मौजूद डेटा को ऐक्सेस किया जा सकता है. डेटा ऐक्सेस करने के लिए, एक ऐसी क्वेरी बनानी होगी जिससे पता चले: व्यू (प्रोफ़ाइल), शुरू और खत्म होने की तारीख, और टेबल में कॉलम हेडर बनाने वाले डाइमेंशन और मेट्रिक. यह क्वेरी, Core Reporting API को भेजी जाती है और Core Reporting API की मदद से सारा डेटा, टेबल के तौर पर दिखता है.

अगर आपने इससे पहले एपीआई का इस्तेमाल नहीं किया है, तो Core Reporting API की खास जानकारी और उससे मिलने वाले डेटा के बारे में जानने के लिए, Core Reporting API की खास जानकारी पढ़ें.

शुरू करने से पहले

इस गाइड में बताया गया है कि Java, Python, PHP, और JavaScript प्रोग्रामिंग भाषाओं का इस्तेमाल करके, Google Analytics API को कैसे ऐक्सेस किया जाए.

  • एपीआई के साथ काम करने वाली प्रोग्रामिंग भाषा की खास क्लाइंट लाइब्रेरी की पूरी सूची देखने के लिए, क्लाइंट लाइब्रेरी पेज पढ़ें.
  • क्लाइंट लाइब्रेरी के बिना एपीआई को ऐक्सेस करने के लिए, रेफ़रंस गाइड पढ़ें.

हर क्लाइंट लाइब्रेरी, Analytics सेवा के लिए एक ही ऑब्जेक्ट उपलब्ध कराती है, ताकि सभी Core Reporting API का डेटा ऐक्सेस किया जा सके. आम तौर पर, सेवा ऑब्जेक्ट बनाने के लिए, आपको यह तरीका अपनाना होगा:

  1. Google API (एपीआई) कंसोल में अपना ऐप्लिकेशन रजिस्टर करें.
  2. Google Analytics डेटा को ऐक्सेस करने की अनुमति दें.
  3. Analytics सेवा ऑब्जेक्ट बनाएं.

अगर आपने इन चरणों को पूरा नहीं किया है, तो कृपया रोकें और नमस्ते Google Analytics API का ट्यूटोरियल पढ़ें. इस ट्यूटोरियल में, Google Analytics API ऐप्लिकेशन बनाने के शुरुआती चरणों की जानकारी दी गई है. पूरा होने के बाद, इस गाइड का इस्तेमाल करके असल टास्क किए जा सकेंगे.

नीचे दिए गए कोड स्निपेट में एक वैरिएबल शामिल है, जो अधिकृत सेवा ऑब्जेक्ट को स्टोर करता है.

Java

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

Python

analytics = # Read Hello Analytics Tutorial for details.

PHP

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

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

$analytics = new apiAnalyticsService($client);

PHP लाइब्रेरी, एपीआई के सभी नतीजों को असोसिएट कैटगरी के तौर पर दिखाएगी. इसके बजाय, रीयल ऑब्जेक्ट दिखाने के लिए, क्लाइंट useObject तरीके को कॉल किया जा सकता है, जैसा कि ऊपर दिए गए उदाहरण में दिखाया गया है.

JavaScript

<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 JavaScript लाइब्रेरी को लोड करता है. लोड होने के बाद, Analytics सेवा की क्लास को लोड करने के लिए loadLib चलाया जाता है. पूरा होने के बाद, gapi.client.analytics ऑब्जेक्ट डीओएम में मौजूद होना चाहिए. साथ ही, यह Core Reporting API की क्वेरी के लिए इस्तेमाल करने के लिए तैयार होना चाहिए.

Analytics सेवा के लिए ऑब्जेक्ट बनाने के बाद, Core Reporting API को अनुरोध भेजे जा सकते हैं.

ध्यान दें: Analytics सेवा के ऑब्जेक्ट का इस्तेमाल, Management API को ऐक्सेस करने के लिए भी किया जा सकता है.

खास जानकारी

Core Reporting API का इस्तेमाल करने वाले ऐप्लिकेशन के लिए आम तौर पर दो चरण होते हैं:

  • Core Reporting API की क्वेरी करें
  • एपीआई के नतीजों के साथ काम करना

आइए दोनों चरणों पर नज़र डालें.

Core Reporting API की क्वेरी करें

Core Reporting API की क्वेरी बनाएं

Analytics सेवा से जुड़े ऑब्जेक्ट में, Core Reporting API क्वेरी बनाने का तरीका मौजूद होता है.

हर कोर रिपोर्टिंग एपीआई क्वेरी में पैरामीटर का एक सेट होता है, जिससे तय होता है कि कौनसा डेटा दिखाना है.

ids पैरामीटर या टेबल आईडी, सबसे अहम क्वेरी पैरामीटर में से एक है. यह पैरामीटर तय करता है कि किस Google Analytics व्यू (प्रोफ़ाइल) से डेटा पाना है. वैल्यू ga:xxx फ़ॉर्मैट में है, जहां xxx व्यू (प्रोफ़ाइल) आईडी है.

Java

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);

Python

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')

PHP

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 वाला तरीका सिर्फ़ Core Reporting API क्वेरी नहीं बनाता, बल्कि एपीआई को किए गए अनुरोध को भी लागू करता है.

JavaScript

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

इस उदाहरण में, JavaScript क्लाइंट लाइब्रेरी लोड होने के बाद makeApiCall फ़ंक्शन को कॉल किया जाता है. इसमें, यह फ़ंक्शन एक नई Google Analytics API क्वेरी बनाता है और ऑब्जेक्ट को apiQuery वैरिएबल में सेव करता है.

सभी क्वेरी पैरामीटर और उनसे जुड़ी गतिविधियों की पूरी सूची Core Reporting API की रेफ़रंस गाइड में मिल सकती है. साथ ही, डाइमेंशन और मेट्रिक पैरामीटर की मदद से, यह तय किया जा सकता है कि Google Analytics से कौनसा डेटा वापस लाया जाए. पूरी सूची देखने के लिए, डाइमेंशन और मेट्रिक रेफ़रंस पेज पर जाएं.

Core Reporting API के डेटा का अनुरोध करना

क्वेरी तय करने के बाद, Google Analytics के सर्वर पर क्वेरी भेजने के लिए, इसे execute तरीका कहा जाता है.

Java

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();
}

इसके बजाय, अगर आप रॉ एपीआई से मिला रिस्पॉन्स ऐक्सेस करना चाहते हैं, तो executeUnparsed() तरीके का इस्तेमाल करें:

HttpResponse response = apiQuery.executeUnparsed();

Python

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()))

PHP

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

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

JavaScript

function makeApiCall() {
  // ...

  apiQuery.execute(handleCoreReportingResults);
}

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

यह उदाहरण, पिछले चरण से लिया गया है जहां Core Reporting API क्वेरी बनाई गई थी. इस चरण में, क्वेरी बनाई जाती है. execute तरीके का पैरामीटर, एक कॉलबैक फ़ंक्शन का रेफ़रंस है. एपीआई से डेटा मिलने के बाद यह फ़ंक्शन चलाया जाता है.

एपीआई के नतीजे मिलने पर, कॉलबैक फ़ंक्शन चलाया जाता है और एपीआई से डेटा पास किया जाता है. अगर कोई गड़बड़ी होती है, तो नतीजों में error नाम की प्रॉपर्टी शामिल होगी.

इस उदाहरण में, यह देखने के लिए जांच की जाती है कि error मौजूद है या नहीं या एपीआई ठीक से काम कर रहा है या नहीं.

क्वेरी का जवाब मिलने पर, एपीआई अनुरोध किया गया डेटा दिखाएगा. अगर कोई गड़बड़ी होती है, तो एपीआई एक खास स्टेटस कोड और गड़बड़ी के बारे में बताने वाला एक मैसेज दिखाएगा. सभी ऐप्लिकेशन को गड़बड़ियों को ठीक से पकड़ना और मैनेज करना चाहिए.

एपीआई के नतीजों की मदद से काम करना

अगर Core Reporting API की क्वेरी कामयाब होती है, तो एपीआई, Analytics का रिपोर्टिंग डेटा और डेटा से जुड़ी अन्य जानकारी दिखाता है.

Analytics रिपोर्टिंग डेटा

एपीआई से मिले मुख्य डेटा को मुख्य तौर पर दो तरह के डेटा वाली टेबल माना जा सकता है:

  • वह हेडर जो हर कॉलम में मौजूद वैल्यू के टाइप की जानकारी देता है
  • टेबल में डेटा की पंक्तियां

कॉलम हेडर का डेटा

हर एपीआई के रिस्पॉन्स में एक कॉलम हेडर फ़ील्ड होता है, जो टेबल के हेडर की जानकारी दिखाता है. फ़ील्ड, ऑब्जेक्ट की एक सूची या कलेक्शन है, जहां हर ऑब्जेक्ट, कॉलम में मौजूद डेटा के टाइप के बारे में बताता है. कॉलम का क्रम, डाइमेंशन कॉलम के बाद मेट्रिक कॉलम के बाद उसी क्रम में होता है जैसा ओरिजनल क्वेरी में बताया गया है.

Java

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());
 }
}

Python

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')

PHP

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;
}

JavaScript

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(''));
}

लाइन का डेटा

एपीआई से मिला मुख्य डेटा, दो डाइमेंशन वाली List स्ट्रिंग के तौर पर दिखाया जाता है. आउटर सूची में डेटा की सभी लाइनें दिखती हैं. हर अंदरूनी सूची एक पंक्ति दिखाती है. इसमें किसी पंक्ति में सेल का क्रम, ऊपर बताए गए कॉलम हेडर ऑब्जेक्ट के फ़ील्ड के जैसा होता है.

हर सेल का डेटा, स्ट्रिंग के तौर पर दिखाया जाता है. इसलिए, हर कॉलम हेडर ऑब्जेक्ट में DataType फ़ील्ड खास तौर पर काम का होता है, क्योंकि इसका इस्तेमाल स्ट्रिंग की वैल्यू को सही टाइप में पार्स करने के लिए किया जा सकता है. सभी संभावित डेटा टाइप के लिए, मेटाडेटा एपीआई से मिला रिस्पॉन्स देखें.

नीचे दिए गए उदाहरण टेबल के हेडर और पंक्तियां, दोनों को प्रिंट करते हैं.

Java

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

Python

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'

PHP

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;
}

JavaScript

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(''));
}

रिपोर्ट की जानकारी

मुख्य टेबल के डेटा के साथ-साथ, एपीआई से मिले डेटा में रिस्पॉन्स के बारे में कुछ हाई लेवल की जानकारी भी होती है. इसे प्रिंट करने के लिए:

Java

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());
}

Python

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')

PHP

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;
}

JavaScript

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 फ़ील्ड ज़रूरी है, क्योंकि यह बताता है कि एपीआई से मिले रिस्पॉन्स का सैंपल लिया गया है या नहीं. सैंपलिंग, आपके डेटा के नतीजों पर असर डाल सकती है. साथ ही, एपीआई से मिलने वाली वैल्यू के वेब इंटरफ़ेस से मेल न खाने की एक आम वजह भी हो सकती है. ज़्यादा जानकारी के लिए, सैंपलिंग कॉन्सेप्ट गाइड देखें.

प्रोफ़ाइल की जानकारी देखें

हर जवाब में पैरामीटर का एक ग्रुप होता है, जिससे उस खाते, वेब प्रॉपर्टी, और व्यू (प्रोफ़ाइल) के बारे में पता चलता है जिससे यह डेटा जुड़ा है.

Java

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());
}

Python

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')

PHP

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;
}

JavaScript

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(''));
}

इनमें से हर आईडी, Management API की हैरारकी में मौजूद अलग-अलग इकाइयों से जुड़ा होता है. इन आईडी का इस्तेमाल करके, Management API क्वेरी बनाई जा सकती हैं. इससे, व्यू (प्रोफ़ाइल) के बारे में कॉन्फ़िगरेशन के बारे में ज़्यादा जानकारी मिल सकेगी. उदाहरण के लिए, मैनेजमेंट एपीआई लक्ष्य कलेक्शन से क्वेरी करके यह पता लगाया जा सकता है कि कौनसे लक्ष्य चालू हैं और उनके कॉन्फ़िगर किए गए लक्ष्य के नाम भी शामिल हैं.

क्वेरी की जानकारी

हर Core Reporting API के रिस्पॉन्स में एक ऑब्जेक्ट होता है. इसमें, रिस्पॉन्स बनाने के लिए इस्तेमाल किए गए सभी क्वेरी पैरामीटर की वैल्यू शामिल होती हैं.

Java

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());
}

Python

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

PHP

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

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

  print $html;
}

JavaScript

function printQuery(results) {
  output = [];

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

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

metrics और sort पैरामीटर, सूची में वैल्यू के तौर पर दिखाए जाते हैं, जबकि दूसरे पैरामीटर स्ट्रिंग के तौर पर दिखाए जाते हैं.

खोज नतीजों को पेजों में बांटने के बारे में जानकारी

कोई भी Core Reporting API अनुरोध, Google Analytics के डेटा की लाखों पंक्तियों से मेल खा सकता है. Core Reporting API की मदद से, किसी तय समय में सिर्फ़ एक सबसेट दिखाया जाएगा. हालांकि, इसे डेटा का एक पेज कहा जा सकता है. डेटा के सभी पेजों को वापस पाने के लिए, पेज पर नंबर डालने वाले फ़ील्ड का इस्तेमाल किया जाता है.

Java

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());
}

Python

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')

PHP

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;
}

JavaScript

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 पैरामीटर सिर्फ़ तब दिखते हैं, जब पिछला या अगला पेज मौजूद हो. इन लिंक की जांच करके देखें कि Core Reporting API से, डेटा के और भी पेज पाए जा सकते हैं या नहीं.

सभी नतीजों के लिए कुल वैल्यू

जैसा कि ऊपर पेजों को क्रम में लगाने की जानकारी वाले सेक्शन में बताया गया है, Core Reporting API से जुड़ी क्वेरी, Google Analytics में डेटा की कई लाइनों से मेल खा सकती है. हालांकि, यह डेटा का सिर्फ़ एक सबसेट दिखाती है. मैच होने वाली सभी लाइनों की कुल मेट्रिक वैल्यू, totalsForAllResults ऑब्जेक्ट में दिखती हैं. यह डेटा औसत निकालने के लिए काम का है.

Java

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

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

Python

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

PHP

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

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

  print $html;
}

JavaScript

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(''));
}

काम करने वाले सैंपल

काम करने वाले सभी सैंपल देखने के लिए, हर क्लाइंट लाइब्रेरी की सैंपल डायरेक्ट्री में Core Reporting API सैंपल देखें.

Java

Google API Java क्लाइंट लाइब्रेरी Core Reporting API सैंपल

Python

Google API Python क्लाइंट लाइब्रेरी Core Reporting API सैंपल

PHP

Google API PHP क्लाइंट लाइब्रेरी Core Reporting API सैंपल

JavaScript

Google API JavaScript क्लाइंट लाइब्रेरी Core Reporting API सैंपल

JavaScript सोर्स