همه ستونها را برای یک نوع گزارش فهرست میکند. اکنون آن را امتحان کنید یا نمونه ای را ببینید .
درخواست
درخواست HTTP
GET https://www.googleapis.com/analytics/v3/metadata/reportType/columns
مولفه های
نام پارامتر | ارزش | شرح |
---|---|---|
پارامترهای مورد نیاز | ||
reportType | string | نوع گزارش. مقادیر مجاز: ga . جایی که ga با Core Reporting API مطابقت دارد. |
درخواست بدن
با این روش بدنه درخواستی ارائه نکنید.
واکنش
در صورت موفقیت آمیز بودن، این روش یک بدنه پاسخ با ساختار زیر را برمی گرداند:
{ "kind": "analytics#columns", "etag": etag, "totalResults": integer, "attributeNames": [ string ], "items": [ metadata.columns Resource ] }
نام ملک | ارزش | شرح | یادداشت |
---|---|---|---|
kind | string | نوع مجموعه | |
etag | etag | برچسب مجموعه. این تگ را می توان با آخرین تگ پاسخ مقایسه کرد تا بررسی شود که آیا پاسخ تغییر کرده است. | |
totalResults | integer | تعداد کل ستون های برگشتی در پاسخ. | |
attributeNames[] | list | فهرستی از نام ویژگیهای بازگردانده شده توسط ستونها. | |
items[] | list | لیست ستون ها برای نوع گزارش. |
مثال ها
توجه: نمونههای کد موجود برای این روش همه زبانهای برنامهنویسی پشتیبانیشده را نشان نمیدهند (برای فهرست زبانهای پشتیبانیشده به صفحه کتابخانههای سرویس گیرنده مراجعه کنید).
جاوا
از کتابخانه کلاینت جاوا استفاده می کند
/** * 1. Execute a Metadata Request * An application can request columns data by calling the list method on the Analytics service object. * The method requires an reportType parameter that specifies the column data to retrieve. * For example, the following code requests columns for the ga report type. */ try { Columns results = getMetadata(analytics); // Success } catch (GoogleJsonResponseException e) { // Catch API specific errors. handleApiError(e); } catch (IOException e) { // Catch general parsing network errors.
e.printStackTrace(); } /** * 2. Print out the Columns data * The components of the result can be printed out as follows: */ private static Columns getMetadata(Analytics analytics) throws IOException { String reportType = "ga"; return analytics.metadata() .columns() .list(reportType) .execute(); } private static void printMetadataReport(Columns results) { System.out.println("Metadata Response Report"); printReportInfo(results); printAttributes(results.getAttributeNames()); printColumns(results.getItems()); } private static void printReportInfo(Columns results) { System.out.println("## Metadata Report Info ##"); System.out.println("Kind: " + results.getKind()); System.out.println("Etag: " + results.getEtag()); System.out.println("Total Results: " + results.getTotalResults()); System.out.println(); } private static void printAttributes(List<String> attributeNames) { System.out.println("## Attribute Names ##"); for (String attribute : attributeNames) { System.out.println(attribute); } } private static void printColumns(List<Column> columns) { System.out.println("## Columns ##"); for (Column column : columns) { System.out.println(); System.out.println("Column ID: " + column.getId()); System.out.println("Kind: " + column.getKind()); Map<String, String> columnAttributes = column.getAttributes(); for (Map.Entry<String, String> attribute: columnAttributes.entrySet()) { System.out.println(attribute.getKey() + ": " + attribute.getValue()); } } }
PHP
از کتابخانه مشتری PHP استفاده می کند
/**
* 1. Execute a Metadata Request
* An application can request columns data by calling the list method on the Analytics service object.
* The method requires an reportType parameter that specifies the column data to retrieve.
* For example, the following code requests columns for the ga report type.
*/
try {
$results = $analytics->metadata_columns->listMetadataColumns('ga');
// Success
} catch (apiServiceException $e) {
// Handle API service exceptions.
$error = $e->getMessage();
}
/**
* 2. Print out the Columns data
* The components of the result can be printed out as follows:
*/
function printMetadataReport($results) {
print '<h1>Metadata Report</h1>';
printReportInfo($results);
printAttributes($results);
printColumns($results);
}
function printReportInfo(&$results) {
$html = '<h2>Report Info</h2>';
$html .= <<<HTML
<pre>
Kind = {$results->getKind()}
Etag = {$results->getEtag()}
Total Results = {$results->getTotalResults()}
</pre>
HTML;
print $html;
}
function printAttributes(&$results) {
$html = '<h2>Attribute Names</h2><ul>';
$attributes = $results->getAttributeNames();
foreach ($attributes as $attribute) {
$html .= '<li>'. $attribute . '</li>';
}
$html .= '</ul>';
print $html;
}
function printColumns(&$results) {
$columns = $results->getItems();
if (count($columns) > 0) {
$html = '<h2>Columns</h2>';
foreach ($columns as $column) {
$html .= '<h3>' . $column->getId() . '</h3>';
$column_attributes = $column->getAttributes();
foreach ($column_attributes as $name=>$value) {
$html .= <<<HTML
<pre>
{$name}: {$value}
</pre>
HTML;
}
}
} else {
$html = '<p>No Results Found.</p>';
}
print $html;
}
پایتون
از کتابخانه کلاینت پایتون استفاده می کند
# 1. Execute a Metadata Request # An application can request columns data by calling the list method on the Analytics service object. # The method requires an reportType parameter that specifies the column data to retrieve. # For example, the following code requests columns for the ga report type. try: results = service.metadata().columns().list(reportType='ga').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 Columns data # The components of the result can be printed out as follows: def print_metadata_report(results): print 'Metadata Response Report' print_report_info(results) print_attributes(results.get('attributeNames')) print_columns(results) def print_report_info(columns): print "Metadata Report Info" if columns: print 'Kind = %s' % columns.get('kind') print 'Etag = %s' % columns.get('etag') print 'Total Results = %s' % columns.get('totalResults') def print_attributes(attributes): if attributes: print 'Attribute Names:' for attribute in attributes: print attribute def print_columns(columns_data): if columns_data: print 'Columns:' columns = columns_data.get('items', []) for column in columns: print print '%15s = %35s' % ('Column ID', column.get('id')) print '%15s = %35s' % ('Kind', column.get('kind')) column_attributes = column.get('attributes', []) for name, value in column_attributes.iteritems(): print '%15s = %35s' % (name, value)
جاوا اسکریپت
از کتابخانه سرویس گیرنده جاوا اسکریپت استفاده می کند
/** * 1. Execute a Metadata Request * An application can request columns data by calling the list method on the Analytics service object. * The method requires an reportType parameter that specifies the column data to retrieve. * For example, the following code requests columns for the ga report type. */ function makeMetadataRequest() { var request = gapi.client.analytics.metadata.columns.list({ 'reportType': 'ga' }); request.execute(renderMetadataReport); } /** * 2. Print out the Columns data * The components of the result can be printed out as follows: */ function renderMetadataReport(results) { var reportHtml = []; reportHtml.push( getReportInfo(results), getAttributes(results), getColumns(results)); // Renders the results to a DIV element document.getElementById('DIV_ID').innerHTML = reportHtml.join(''); } function getReportInfo(results) { var html = []; if (results) { html.push('<h2>Report Info</h2>'); html.push('<pre>Kind: ', results.kind, '</pre>'); html.push('<pre>Etag: ', results.etag, '</pre>'); html.push('<pre>Total Results: ', results.totalResults, '</pre>'); } return html.join(''); } function getAttributes(results) { var html = []; if (results) { html.push('<h2>Attribute Names</h2><ul>'); var attributes = results.attributeNames; for (var i = 0, attribute; attribute = attributes[i]; i++) { html.push('<li>', attribute, '</li>'); } html.push('</ul>'); } return html.join(''); } function getColumns(results) { var html = []; if (results) { var columns = results.items; html.push('<h2>Columns</h2>'); for (var i = 0, column; column = columns[i]; i++) { html.push('<h3>', column.id, '</h3>'); var attributes = column.attributes; for (attribute in attributes) { html.push('<pre><strong>', attribute, '</strong> : ', attributes[attribute], '</pre>'); } } } return html.join(''); }
آن را امتحان کنید!
از APIs Explorer زیر برای فراخوانی این روش در دادههای زنده و دیدن پاسخ استفاده کنید. از طرف دیگر، اکسپلورر مستقل را امتحان کنید.