रीयल-टाइम डेटा: पाएं

अनुमति की ज़रूरत है

यह फ़ंक्शन किसी व्यू (प्रोफ़ाइल) के लिए, रीयल-टाइम डेटा दिखाता है. इसे अभी आज़माएं या उदाहरण देखें.

अनुरोध

एचटीटीपी अनुरोध

GET https://www.googleapis.com/analytics/v3/data/realtime

पैरामीटर

पैरामीटर का नाम वैल्यू ब्यौरा
ज़रूरी पैरामीटर
ids string Analytics का डेटा वापस पाने के लिए, टेबल का यूनीक आईडी. टेबल आईडी, ga:XXXX फ़ॉर्मैट में होता है. इसमें XXXX, Analytics व्यू (प्रोफ़ाइल) आईडी होता है.
metrics string Analytics मेट्रिक की कॉमा-सेपरेटेड लिस्ट. उदाहरण, 'rt:activeUsers' पर सेट करता है. कम से कम एक मेट्रिक के बारे में बताना ज़रूरी है.
वैकल्पिक पैरामीटर
dimensions string रीयल-टाइम डाइमेंशन की कॉमा-सेपरेटेड लिस्ट. उदाहरण, 'rt:medium,rt:city'.
filters string रीयल-टाइम डेटा पर लागू करने के लिए, डाइमेंशन या मेट्रिक फ़िल्टर की कॉमा-सेपरेटेड लिस्ट.
max-results integer इस फ़ीड में शामिल करने के लिए एंट्री की ज़्यादा से ज़्यादा संख्या.
sort string डाइमेंशन या मेट्रिक की कॉमा-सेपरेटेड लिस्ट, जो रीयल-टाइम डेटा को क्रम से लगाने का तरीका तय करती है.

अनुमति

इस अनुरोध के लिए, इनमें से कम से कम एक स्कोप के साथ अनुमति देना ज़रूरी है (पुष्टि करने और अनुमति देने के बारे में ज़्यादा पढ़ें).

स्कोप
https://www.googleapis.com/auth/analytics
https://www.googleapis.com/auth/analytics.readonly

अनुरोध का मुख्य भाग

इस तरीके का इस्तेमाल करके, अनुरोध का मुख्य हिस्सा न दें.

जवाब

अगर यह तरीका काम करता है, तो जवाब के मुख्य हिस्से में रीयल टाइम डेटा संसाधन दिखाया जाता है.

उदाहरण

ध्यान दें: इस तरीके के लिए दिए गए कोड के उदाहरणों में इसके साथ काम करने वाली सभी प्रोग्रामिंग भाषाएं नहीं दिखाई गई हैं (इसके साथ काम करने वाली भाषाओं की सूची के लिए क्लाइंट लाइब्रेरी वाला पेज देखें).

Java

Java क्लाइंट लाइब्रेरी का इस्तेमाल करता है

/**
 * 1. Create and Execute a Real Time Report
 * An application can request real-time data by calling the get method on the Analytics service object.
 * The method requires an ids parameter which specifies from which view (profile) to retrieve data.
 * For example, the following code requests real-time data for view (profile) ID 56789.
 */

Get realtimeRequest = analytics.data().realtime()
    .get("ga:56789",
         "rt:activeUsers")
    .setDimensions("rt:medium");

try {
  RealtimeData realtimeData = realtimeRequest.execute();
  // Success.

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

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

/**
 * 2. Print out the Real-Time Data
 * The components of the report can be printed out as follows:
 */

private void printRealtimeReport(RealtimeData realtimeData) {
  System.out.println();
  System.out.println("Response:");
  System.out.println("ID:" + realtimeData.getId());
  System.out.println("realtimeData Kind: " + realtimeData.getKind());
  System.out.println();

  printQueryInfo(realtimeData.getQuery());
  printProfileInfo(realtimeData.getProfileInfo());
  printPaginationInfo(realtimeData);
  printDataTable(realtimeData);
}

private void printQueryInfo(Query query) {
  System.out.println("Query Info:");
  System.out.println("Ids: " + query.getIds());
  System.out.println("Metrics: " + query.getMetrics());
  System.out.println("Dimensions: " + query.getDimensions());
  System.out.println("Sort: " + query.getSort());
  System.out.println("Filters: " + query.getFilters());
  System.out.println("Max results: " + query.getMaxResults());
  System.out.println();
}

private void printProfileInfo(ProfileInfo profileInfo) {
  System.out.println("Info:");
  System.out.println("Account ID:" + profileInfo.getAccountId());
  System.out.println("Web Property ID:" + profileInfo.getWebPropertyId());
  System.out.println("Profile ID:" + profileInfo.getProfileId());
  System.out.println("Profile Name:" + profileInfo.getProfileName());
  System.out.println("Table Id:" + profileInfo.getTableId());
  System.out.println();
}
 
private void printPaginationInfo(RealtimeData realtimeData) {
  System.out.println("Pagination info:");
  System.out.println("Self link: " + realtimeData.getSelfLink());
  System.out.println("Total Results: " + realtimeData.getTotalResults());
  System.out.println();
}

private void printDataTable(RealtimeData realtimeData) {
  if (realtimeData.getTotalResults() > 0) {
    System.out.println("Data Table:");
    for (ColumnHeaders header : realtimeData.getColumnHeaders()) {
      System.out.format("%-32s", header.getName() + '(' + header.getDataType() + ')');
    }
    System.out.println();
    for (List<String> row : realtimeData.getRows()) {
      for (String element : row) {
        System.out.format("%-32s", element);
      }
      System.out.println();
    }
  } else {
    System.out.println("No data");
  }
}

PHP

PHP क्लाइंट लाइब्रेरी का इस्तेमाल करती है

/**
 * 1.Create and Execute a Real Time Report
 * An application can request real-time data by calling the get method on the Analytics service object.
 * The method requires an ids parameter which specifies from which view (profile) to retrieve data.
 * For example, the following code requests real-time data for view (profile) ID 56789.
 */
$optParams = array(
    'dimensions' => 'rt:medium');

try {
  $results = $analytics->data_realtime->get(
      'ga:56789',
      'rt:activeUsers',
      $optParams);
  // Success. 
} catch (apiServiceException $e) {
  // Handle API service exceptions.
  $error = $e->getMessage();
}


/**
 * 2. Print out the Real-Time Data
 * The components of the report can be printed out as follows:
 */

function printRealtimeReport($results) {
  printReportInfo($results);
  printQueryInfo($results);
  printProfileInfo($results);
  printColumnHeaders($results);
  printDataTable($results);
  printTotalsForAllResults($results);
}

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 printColumnHeaders(&$results) {
  $html = '';
  $headers = $results->getColumnHeaders();

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

function printQueryInfo(&$results) {
  $query = $results->getQuery();
  $html = <<<HTML
<pre>
Ids         = {$query->getIds()}
Metrics     = {$query->getMetrics()}
Dimensions  = {$query->getDimensions()}
Sort        = {$query->getSort()}
Filters     = {$query->getFilters()}
Max Results = {$query->getMax_results()}
</pre>
HTML;

  print $html;
}

function printProfileInfo(&$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()}
Profile Name             = {$profileInfo->getProfileName()}
Table ID                 = {$profileInfo->getTableId()}
</pre>
HTML;

  print $html;
}

function printReportInfo(&$results) {
  $html = <<<HTML
  <pre>
Kind                  = {$results->getKind()}
ID                    = {$results->getId()}
Self Link             = {$results->getSelfLink()}
Total Results         = {$results->getTotalResults()}
</pre>
HTML;

  print $html;
}

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

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

  print $html;
}

Python

Python क्लाइंट लाइब्रेरी का इस्तेमाल करता है

# 1. Create and Execute a Real Time Report
# An application can request real-time data by calling the get method on the Analytics service object.
# The method requires an ids parameter which specifies from which view (profile) to retrieve data.
# For example, the following code requests real-time data for view (profile) ID 56789.

try:
  service.data().realtime().get(
      ids='ga:56789',
      metrics='rt:activeUsers',
      dimensions='rt:medium').execute()

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 errors.
  print ('Arg, there was an API error : %s : %s' %
         (error.resp.status, error._get_reason()))


# 2. Print out the Real-Time Data
# The components of the report can be printed out as follows:

def print_realtime_report(results):
  print '**Real-Time Report Response**'	
  print_report_info(results)
  print_query_info(results.get('query'))
  print_profile_info(results.get('profileInfo'))
  print_column_headers(results.get('columnHeaders'))
  print_data_table(results)
  print_totals_for_all_results(results)

def print_data_table(results):
  print 'Data Table:'
  # 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'

def print_column_headers(headers):
  print 'Column Headers:'
  for header in headers:
    print 'Column name           = %s' % header.get('name')
    print 'Column Type           = %s' % header.get('columnType')
    print 'Column Data Type      = %s' % header.get('dataType')

def print_query_info(query):
  if query:
    print 'Query Info:'
    print 'Ids                   = %s' % query.get('ids')
    print 'Metrics:              = %s' % query.get('metrics')
    print 'Dimensions            = %s' % query.get('dimensions')
    print 'Sort                  = %s' % query.get('sort')
    print 'Filters               = %s' % query.get('filters')
    print 'Max results           = %s' % query.get('max-results')

def print_profile_info(profile_info):
  if profile_info:
    print 'Profile Info:'
    print 'Account ID            = %s' % profile_info.get('accountId')
    print 'Web Property ID       = %s' % profile_info.get('webPropertyId')
    print 'Profile ID            = %s' % profile_info.get('profileId')
    print 'Profile Name          = %s' % profile_info.get('profileName')
    print 'Table Id              = %s' % profile_info.get('tableId')

def print_report_info(results):
  print 'Kind                    = %s' % results.get('kind')
  print 'ID                      = %s' % results.get('id')
  print 'Self Link               = %s' % results.get('selfLink')
  print 'Total Results           = %s' % results.get('totalResults')

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

इसे आज़माएं!

लाइव डेटा पर इस तरीके को कॉल करने और रिस्पॉन्स देखने के लिए, नीचे दिया गया एपीआई एक्सप्लोरर इस्तेमाल करें. इसके अलावा, Standalone Explorer का इस्तेमाल भी किया जा सकता है.