自定义数据源:list

需要授权

列出用户有访问权限的自定义数据源。 立即试用查看示例

除了标准参数之外,此方法还支持参数表中列出的参数。

请求

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 查询参数指定。
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