Пользовательские источники данных: метод list

Требуется авторизация

Выводит список пользовательских источников данных, доступных пользователю. Испытайте его в действии или изучите готовый пример.

Помимо стандартных параметров, этот метод поддерживает параметры, перечисленные в таблице ниже.

Запрос

HTTP-запрос

GET https://www.googleapis.com/analytics/v3/management/accounts/accountId/webproperties/webPropertyId/customDataSources

Параметры

Название параметра Значение Описание
Параметры пути
accountId string Идентификатор аккаунта, для которого требуется извлечь пользовательские источники данных.
webPropertyId string Идентификатор веб-ресурса, для которого требуется извлечь пользовательские источники данных.
Необязательные параметры запроса
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 Электронный адрес пользователя, прошедшего аутентификацию.
totalResults integer Общее число результатов запроса, не зависящее от числа результатов в ответе.
startIndex integer Начальный индекс ресурса. По умолчанию равен 1 или задается с помощью параметра запроса start-index.
itemsPerPage integer Максимальное количество ресурсов в ответе, независимо от фактически возвращаемого количества ресурсов. Задается с помощью параметра max-results в диапазоне от 1 до 1000 (значение по умолчанию).
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 ниже, чтобы применить этот метод к реальным данным и посмотреть, как он работает. Также можно перейти на эту страницу.