نیاز به مجوز دارد
دادههای بیدرنگ را برای یک نما (نمایه) برمیگرداند. اکنون آن را امتحان کنید یا نمونه ای را ببینید .
درخواست
درخواست HTTP
GET https://www.googleapis.com/analytics/v3/data/realtime
مولفه های
نام پارامتر | ارزش | شرح |
---|---|---|
پارامترهای مورد نیاز | ||
ids | string | شناسه جدول منحصر به فرد برای بازیابی داده های Analytics. شناسه جدول به شکل ga:XXXX است که XXXX شناسه نمای آنالیتیکس (نمایه) است. |
metrics | string | فهرستی از معیارهای Analytics جدا شده با کاما. به عنوان مثال، 'rt:activeUsers'. حداقل یک معیار باید مشخص شود. |
پارامترهای اختیاری | ||
dimensions | string | فهرستی از ابعاد بیدرنگ با کاما جدا شده است. به عنوان مثال، "rt: متوسط، rt: شهر". |
filters | string | فهرستی از فیلترهای ابعاد یا متریک جدا شده با کاما برای اعمال به داده های بلادرنگ. |
max-results | integer | حداکثر تعداد ورودی هایی که باید در این فید لحاظ شود. |
sort | string | فهرستی از ابعاد یا معیارهای جدا شده با کاما که ترتیب مرتبسازی دادههای همزمان را تعیین میکند. |
مجوز
این درخواست به مجوز حداقل با یکی از حوزه های زیر نیاز دارد ( در مورد احراز هویت و مجوز بیشتر بخوانید ).
محدوده |
---|
https://www.googleapis.com/auth/analytics |
https://www.googleapis.com/auth/analytics.readonly |
درخواست بدن
با این روش بدنه درخواستی ارائه نکنید.
واکنش
در صورت موفقیت آمیز بودن، این روش یک منبع Real Time Data را در بدنه پاسخ برمی گرداند.
مثال ها
توجه: نمونههای کد موجود برای این روش همه زبانهای برنامهنویسی پشتیبانیشده را نشان نمیدهند (برای فهرست زبانهای پشتیبانیشده به صفحه کتابخانههای سرویس گیرنده مراجعه کنید).
جاوا
از کتابخانه کلاینت جاوا استفاده می کند
/**
* 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; }
پایتون
از کتابخانه کلاینت پایتون استفاده می کند
# 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
آن را امتحان کنید!
از APIs Explorer زیر برای فراخوانی این روش در دادههای زنده و دیدن پاسخ استفاده کنید. از طرف دیگر، اکسپلورر مستقل را امتحان کنید.
نیاز به مجوز دارد
دادههای بیدرنگ را برای یک نما (نمایه) برمیگرداند. اکنون آن را امتحان کنید یا نمونه ای را ببینید .
درخواست
درخواست HTTP
GET https://www.googleapis.com/analytics/v3/data/realtime
مولفه های
نام پارامتر | ارزش | شرح |
---|---|---|
پارامترهای مورد نیاز | ||
ids | string | شناسه جدول منحصر به فرد برای بازیابی داده های Analytics. شناسه جدول به شکل ga:XXXX است که XXXX شناسه نمای آنالیتیکس (نمایه) است. |
metrics | string | فهرستی از معیارهای Analytics جدا شده با کاما. به عنوان مثال، 'rt:activeUsers'. حداقل یک معیار باید مشخص شود. |
پارامترهای اختیاری | ||
dimensions | string | فهرستی از ابعاد بیدرنگ با کاما جدا شده است. به عنوان مثال، "rt: متوسط، rt: شهر". |
filters | string | فهرستی از فیلترهای ابعاد یا متریک جدا شده با کاما برای اعمال به داده های بلادرنگ. |
max-results | integer | حداکثر تعداد ورودی هایی که باید در این فید لحاظ شود. |
sort | string | فهرستی از ابعاد یا معیارهای جدا شده با کاما که ترتیب مرتبسازی دادههای همزمان را تعیین میکند. |
مجوز
این درخواست به مجوز حداقل با یکی از حوزه های زیر نیاز دارد ( در مورد احراز هویت و مجوز بیشتر بخوانید ).
محدوده |
---|
https://www.googleapis.com/auth/analytics |
https://www.googleapis.com/auth/analytics.readonly |
درخواست بدن
با این روش بدنه درخواستی ارائه نکنید.
واکنش
در صورت موفقیت آمیز بودن، این روش یک منبع Real Time Data را در بدنه پاسخ برمی گرداند.
مثال ها
توجه: نمونههای کد موجود برای این روش همه زبانهای برنامهنویسی پشتیبانیشده را نشان نمیدهند (برای فهرست زبانهای پشتیبانیشده به صفحه کتابخانههای سرویس گیرنده مراجعه کنید).
جاوا
از کتابخانه کلاینت جاوا استفاده می کند
/**
* 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; }
پایتون
از کتابخانه کلاینت پایتون استفاده می کند
# 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
آن را امتحان کنید!
از APIs Explorer زیر برای فراخوانی این روش در دادههای زنده و دیدن پاسخ استفاده کنید. از طرف دیگر، اکسپلورر مستقل را امتحان کنید.