Gerçek Zamanlı Veriler:

Yetkilendirme gerektirir

Bir görünüm (profil) için gerçek zamanlı verileri döndürür. Hemen deneyin veya bir örneğe göz atın.

İstek

HTTP isteği

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

Parametreler

Parametre adı Değer Açıklama
Gerekli parametreler
ids string Analytics verilerini almaya yarayan benzersiz tablo kimliği. Tablo kimliği ga:XXXX biçimindedir. Burada XXXX, Analytics görünüm (profil) kimliğidir.
metrics string Analytics metriklerinin virgülle ayrılmış listesi. Örnek: "rt:activeUsers". En az bir metrik belirtilmelidir.
İsteğe bağlı parametreler
dimensions string Gerçek zamanlı boyutların virgülle ayrılmış listesi. Örnek: "rt:medium,rt:city".
filters string Gerçek zamanlı verilere uygulanacak boyut veya metrik filtrelerinin virgülle ayrılmış listesi.
max-results integer Bu yayına eklenecek maksimum giriş sayısı.
sort string Gerçek zamanlı verilerin sıralama düzenini belirleyen boyut veya metriklerin virgülle ayrılmış listesi.

Yetkilendirme

Bu istek için aşağıdaki kapsamlardan en az biriyle yetkilendirme gerekir (kimlik doğrulama ve yetkilendirme hakkında daha fazla bilgi edinin).

Kapsam
https://www.googleapis.com/auth/analytics
https://www.googleapis.com/auth/analytics.readonly

İstek içeriği

Bu yöntemle bir istek gövdesi sağlamayın.

Yanıt

Başarılı olursa bu yöntem, yanıt gövdesinde bir Gerçek Zamanlı Veri kaynağı döndürür.

Örnekler

Not: Bu yöntem için kullanıma sunulan kod örnekleri, desteklenen tüm programlama dillerini kapsamaz (Desteklenen dillerin listesi için istemci kitaplıkları sayfasını inceleyin).

Java

Java istemci kitaplığı'nı kullanmalıdır

/**
 * 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 istemci kitaplığını kullanır

/**
 * 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 istemci kitaplığını kullanır

# 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

Deneyin.

Canlı verilerde bu yöntemi çağırmak ve yanıtı görmek için aşağıdaki API Gezgini'ni kullanın. Alternatif olarak, bağımsız Gezgin'i deneyin.