需要授权
除了标准参数之外,此方法还支持参数表中列出的参数。
请求
HTTP 请求
GET https://www.googleapis.com/analytics/v3/management/accounts/accountId/webproperties/webPropertyId/customDataSources
参数
参数名称 | 值 | 说明 |
---|---|---|
路径参数 | ||
accountId |
string |
要提取的自定义数据源的帐号 ID。 |
webPropertyId |
string |
要提取的自定义数据源的网络媒体资源 ID。 |
可选的查询参数 | ||
max-results |
integer |
此响应所能包含的自定义数据源数量上限。 |
start-index |
integer |
要提取的第一个自定义数据源的索引(从 1 开始)。此参数可与 max-results 参数搭配使用,作为分页机制。 |
授权
此请求需要获得以下至少一个范围的授权(详细了解身份验证和授权)。
范围 |
---|
https://www.googleapis.com/auth/analytics |
https://www.googleapis.com/auth/analytics.edit |
https://www.googleapis.com/auth/analytics.readonly |
请求正文
使用此方法时请勿提供请求正文。
响应
如果成功,此方法将返回采用以下结构的响应正文:
{ "kind": "analytics#customDataSources", "username": string, "totalResults": integer, "startIndex": integer, "itemsPerPage": integer, "previousLink": string, "nextLink": string, "items": [ management.customDataSources Resource ] }
属性名称 | 值 | 说明 | 备注 |
---|---|---|---|
kind |
string |
集合类型。 | |
username |
string |
已验证用户的电子邮件 ID | |
totalResults |
integer |
查询的结果总数,与响应中的结果数无关。 | |
startIndex |
integer |
资源的起始索引,默认为 1,或者通过 start-index 查询参数指定。 | |
itemsPerPage |
integer |
响应所能包含的资源数量上限,与返回的实际资源数无关。其值的范围为 1 至 1000,默认值为 1000,或者通过 max-results 查询参数指定。 | |
previousLink |
string |
指向此自定义数据源集合的上一页的链接。 | |
nextLink |
string |
指向此自定义数据源集合的下一页的链接。 | |
items[] |
list |
自定义数据源的集合。 |
示例
注意:此方法的代码示例并未列出所有受支持的编程语言(请参阅客户端库页面,查看受支持的语言列表)。
Java
使用 Java 客户端库。
/* * Note: this code assumes you have an authorized Analytics service object. * See the Data Import Developer Guide for details. */ /* * Example #1: * Requests a list of all customDataSources for the authorized user. */ try { CustomDataSources sources = analytics.management(). customDataSources().list("123456", "UA-123456-1").execute(); } catch (GoogleJsonResponseException e) { System.err.println("There was a service error: " + e.getDetails().getCode() + " : " + e.getDetails().getMessage()); } /* * Example 2: * The results of the list method are stored in the sources object. * The following code shows how to iterate through them. */ for (CustomDataSource source : sources.getItems()) { System.out.println("Account Id = " + source.getAccountId()); System.out.println("Property Id = " + source.getWebPropertyId()); System.out.println("Custom Data Source Id = " + source.getId()); System.out.println("Custom Data Source Kind = " + source.getKind()); System.out.println("Custom Data Source Type = " + source.getType()); System.out.println("Custom Data Source Name = " + source.getName()); System.out.println("Custom Data Source Description = " + source.getDescription()); System.out.println("Custom Data Source Upload Type = " + source.getUploadType()); System.out.println("\n"); }
PHP
使用 PHP 客户端库。
/** * Note: this code assumes you have an authorized Analytics service object. * See the Data Import Developer Guide for details. */ /** * Example #1: * Requests a list of all data sets for the authorized user. */ try { $dataSets = $analytics->management_customDataSources ->listManagementCustomDataSources('123456', 'UA-123456-1'); } catch (apiServiceException $e) { print 'There was an Analytics API service error ' . $e->getCode() . ':' . $e->getMessage(); } catch (apiException $e) { print 'There was a general API error ' . $e->getCode() . ':' . $e->getMessage(); } /** * Example 2: * The results of the list method are stored in the dataSets object. * The following code shows how to iterate through them. */ foreach ($dataSets->getItems() as $dataSet) { $html = <<<HTML <pre> Account id = {$dataSet->getAccountId()} Property id = {$dataSet->getWebPropertyId()} Data set id = {$dataSet->getId()} Data set kind = {$dataSet->getKind()} Data set type = {$dataSet->getType()} Data set name = {$dataSet->getName()} Data set description = {$dataSet->getDescription()} Data set upload type = {$dataSet->getUploadType()} </pre> HTML; print $html; }
Python
使用 Python 客户端库。
# Note: This code assumes you have an authorized Analytics service object. # See the Custom Data Source Developer Guide for details. # Example #1: # Requests a list of all customDataSources for the authorized user. try: custom_data_sources = analytics.management().customDataSources().list( accountId='123456', webPropertyId='UA-123456-1', ).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 ('There was an API error : %s : %s' % (error.resp.status, error.resp.reason)) # Example #2: # The results of the list method are stored in the custom_data_sources object. # The following code shows how to iterate through them. for custom_data_source in custom_data_sources.get('items', []): print 'Account ID = %s' % custom_data_source.get('accountId') print 'Property ID = %s' % custom_data_source.get('webPropertyId') print 'Custom Data Source ID = %s' % custom_data_source.get('id') print 'Custom Data Source Kind = %s' % custom_data_source.get('kind') print 'Custom Data Source Type = %s' % custom_data_source.get('type') print 'Custom Data Source Name = %s' % custom_data_source.get('name') print 'Custom Data Source Description = %s' % custom_data_source.get('description') print 'Custom Data Source uploadType = %s' % custom_data_source.get('uploadType') print 'Linked Views (Profiles):' for profile in custom_data_source.get('profilesLinked', []): print ' View (Profile) ID = %s' % profile print 'Created = %s' % custom_data_source.get('created') print 'Updated = %s\n' % custom_data_source.get('updated')
JavaScript
使用 JavaScript 客户端库。
/* * Note: This code assumes you have an authorized Analytics client object. * See the Data Import Developer Guide for details. */ /* * Example 1: * Requests a list of all data sets for the authorized user. */ function listCustomDataSources() { var request = gapi.client.analytics.management.customDataSources.list({ 'accountId': '123456', 'webPropertyId': 'UA-123456-1' }); request.execute(printCustomDataSources); } /* * Example 2: * The results of the list method are passed as the results object. * The following code shows how to iterate through them. */ function printCustomDataSources(results) { if (results && !results.error) { var datasets = results.items; for (var i = 0, dataset; dataset = datasets[i]; i++) { console.log('Account Id: ' + dataset.accountId); console.log('Property Id: ' + dataset.webPropertyId); console.log('Dataset Id: ' + dataset.id); console.log('Dataset Kind: ' + dataset.kind); console.log('Dataset Name: ' + dataset.name); console.log('Dataset Description: ' + dataset.description); console.log('Dataset uploadType: ' + dataset.uploadType); // Iterate through the linked views (profiles). var profiles = dataset.profilesLinked; if (profiles) { for (var j = 0, profile; profile = profiles[j]; j++) { console.log('Linked view (profile) Id: ' + profile); } } } } }
试试看!
请使用下面的 API Explorer 对实际数据调用此方法,并查看响应。或者,您也可以尝试使用独立的 Explorer。