Requiere autorización
Muestra los datos en tiempo real de una vista (perfil). Pruébalo ahora y ve un ejemplo.
Solicitud
Solicitud HTTP
GET https://www.googleapis.com/analytics/v3/data/realtime
Parámetros
Nombre del parámetro | Valor | Descripción |
---|---|---|
Parámetros obligatorios | ||
ids |
string |
ID de tabla único para recuperar datos de Analytics. El ID de la tabla tiene el formato ga:XXXX, en el que XXXX es el ID de la vista (perfil) de Analytics. |
metrics |
string |
Lista de métricas de Analytics separadas por comas. P. ej.: "rt:activeUsers". Se debe especificar al menos una métrica. |
Parámetros opcionales | ||
dimensions |
string |
Una lista de dimensiones en tiempo real separadas por comas. P. ej.: "rt:medium,rt:city". |
filters |
string |
Una lista separada por comas de filtros de dimensiones o métricas que se aplicarán a datos en tiempo real. |
max-results |
integer |
La cantidad máxima de entradas que se pueden incluir en este feed. |
sort |
string |
Una lista separada por comas de dimensiones o métricas que determinan el orden de los datos en tiempo real. |
Autorización
Esta solicitud requiere autorización con al menos uno de los siguientes alcances (obtén más información acerca de la autenticación y autorización).
Alcance |
---|
https://www.googleapis.com/auth/analytics |
https://www.googleapis.com/auth/analytics.readonly |
Cuerpo de la solicitud
No proporciones un cuerpo de la solicitud con este método.
Respuesta
Si se aplica correctamente, este método muestra un recurso de datos en tiempo real en el cuerpo de la respuesta.
Ejemplos
Nota: Los ejemplos de código disponibles para este método no representan todos los lenguajes de programación admitidos (consulta la página de bibliotecas cliente para consultar una lista de lenguajes admitidos).
Java
Usa la biblioteca cliente de 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
Usa la biblioteca cliente 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
Usa la biblioteca cliente de 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
Pruébalo
Usa el Explorador de APIs que aparece a continuación para llamar a este método con los datos en tiempo real y ver la respuesta. También puedes probar el Explorador independiente.