Эксперименты: метод list

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

Выводит список доступных пользователю экспериментов. Пример.

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

Запрос

HTTP-запрос

GET https://www.googleapis.com/analytics/v3/management/accounts/accountId/webproperties/webPropertyId/profiles/profileId/experiments

Параметры

Название параметра Значение Описание
Параметры пути
accountId string Идентификатор аккаунта, для которого требуется извлечь эксперименты.
profileId string Идентификатор представления (профиля), для которого требуется извлечь эксперименты.
webPropertyId string Идентификатор веб-ресурса, для которого требуется извлечь эксперименты.
Необязательные параметры запроса
max-results integer Максимальное количество экспериментов, которые будут включены в ответ.
start-index integer Индекс первого извлекаемого эксперимента. Используется совместно с параметром max-results для разбиения результатов на страницы.

Авторизация

Для выполнения этого запроса требуется авторизация как минимум в одной из следующих областей доступа. Подробнее...

Область доступа
https://www.googleapis.com/auth/analytics
https://www.googleapis.com/auth/analytics.edit
https://www.googleapis.com/auth/analytics.readonly

Тело запроса

При работе с данным методом тело запроса не используется.

Ответ

В случае успеха метод возвращает тело ответа со следующей структурой:

{
  "kind": "analytics#experiments",
  "username": string,
  "totalResults": integer,
  "startIndex": integer,
  "itemsPerPage": integer,
  "previousLink": string,
  "nextLink": string,
  "items": [
    management.experiments 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 Experiments Developer Guide for details.
 */

/*
 * Example #1
 * This example requests a list of all Experiments for the authorized user.
 */
try {
  Experiments experiments = analytics.management().experiments().list("123456",
      "UA-123456-1", "7654321").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 experiments object.
 * The following code shows how to iterate through them.
 */
for (Experiment experiment : experiments.getItems()) {
  System.out.println("Experiment Id     = " + experiment.getId());
  System.out.println("Experiment Name   = " + experiment.getName());
  System.out.println("Experiment Status = " + experiment.getStatus());

  // Loop through the variations.
  for (Variations variations : experiment.getVariations()) {
    System.out.println("Variation Name   = " + variations.getName());
    System.out.println("Variation Status = " + variations.getStatus());
    System.out.println("Variation Won    = " + variations.getWon() + "\n");
  }
}

PHP

Используется клиентская библиотека PHP.

/**
 * Note: This code assumes you have an authorized Analytics service object.
 * See the Experiments Developer Guide for details.
 */

/**
 * Example #1:
 * Requests a list of all Experiments for the authorized user.
 */
try {
  $experiments = $analytics->management_experiments
      ->listManagementExperiments('123456', 'UA-123456-1', '7654321');

} 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 experiments object.
 * The following code shows how to iterate through them.
 */
foreach ($experiments->getItems() as $experiment) {

  $html = <<<HTML
<pre>
Experiment id     = {$experiment->getId()}
Experiment name   = {$experiment->getName()}
Experiment status = {$experiment->getStatus()}

HTML;
  foreach ($experiment->getVariations() as $variation) {
    $html .= <<< HTML
Variation name   = {$variation->getName()}
Variation status = {$variation->getStatus()}
Variation won    = {$variation->getWon()}

HTML;
  }
  $html .= '</pre>';
  print $html;
}

Python

Используется клиентская библиотека Python.

# Note: This code assumes you have an authorized Analytics service object.
# See the Experiments Dev Guide for details.

# Example #1:
# Requests a list of all experiments for the authorized user.
try:
  experiments = analytics.management().experiments().list(
      accountId='123456',
      webPropertyId='UA-123456-1',
      profileId='98765432'
  ).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 experiments object.
# The following code shows how to iterate through them.
for experiment in experiments.get('items', []):
  print 'Experiment Id     = %s' % experiment.get('id')
  print 'Experiment Name   = %s' % experiment.get('name')
  print 'Experiment Status = %s\n' % experiment.get('status')
  variations = experiment.get('variations', [])
  for variation in variations:
    print 'Variation Name   = %s' % variation.get('name')
    print 'Variation Status = %s' % variation.get('status')
    print 'Variation Won    = %s' % variation.get('won')

JavaScript

Используется клиентская библиотека JavaScript.

/*
 * Note: This code assumes you have an authorized Analytics client object.
 * See the Experiments Developer Guide for details.
 */

/*
 * Example 1:
 * Requests a list of all experiments for the authorized user.
 */
function listExperiements() {
  var request = gapi.client.analytics.management.experiments.list({
    'accountId': '123456',
    'webPropertyId': 'UA-123456-1',
    'profileId': '7654321'
  });
  request.execute(printExperiments);
}

/*
 * Example 2:
 * The results of the list method are passed as the results object.
 * The following code shows how to iterate through them.
 */
function printExperiments(results) {
  if (results && !results.error) {
    var experiments = results.items;
    for (var i = 0, experiment; experiment = experiments[i]; i++) {
      console.log('Experiment Id: ' + experiment.id);
      console.log('Experiment Kind: ' + experiment.kind);
      console.log('Experiment Name: ' + experiment.name);

      // Iterate through the variations.
      var variations = experiment.variations;
      if (variations) {
        for (var j = 0, variation; variation = variations[j]; j++) {
          console.log('Variation Name: ' + variation.name);
          console.log('Variation Status: ' + variation.status);
          console.log('Variation URL: ' + variation.url);
          console.log('Variation Won: ' + variation.won);
        }
      }
    }
  }
}