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

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

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

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

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

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

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

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

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

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

अगर आपने इन चरणों को पूरा नहीं किया है, तो कृपया रुकें और Hello 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 क्वेरी बनाने का एक तरीका शामिल है.

हर 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 से, डेटा के और भी पेजों को हासिल किया जा सकता है या नहीं.

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

जैसा कि ऊपर पेज पर नंबर डालने की जानकारी वाले सेक्शन में बताया गया है, कोर रिपोर्टिंग एपीआई की क्वेरी, 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 का सोर्स