Представления (профили): метод list

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.

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

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

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

Запрос

HTTP-запрос

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

Параметры

Название параметра Значение Описание
Параметры пути
accountId string Идентификатор аккаунта, для которого требуется извлечь представления (профили). Вместо конкретного значения можно использовать атрибут ~all, который указывает на все доступные пользователю аккаунты.
webPropertyId string Идентификатор веб-ресурса, для которого требуется извлечь представления (профили). Вместо конкретного значения можно использовать атрибут ~all, который указывает на все доступные пользователю веб-ресурсы.
Необязательные параметры запроса
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

Тело запроса

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

Ответ

В ответе возвращается один ресурс Profile для каждого запрошенного профиля.

{
  "kind": "analytics#profiles",
  "username": string,
  "totalResults": integer,
  "startIndex": integer,
  "itemsPerPage": integer,
  "previousLink": string,
  "nextLink": string,
  "items": [
    management.profiles Resource
  ]
}
Название свойства Значение Описание Заметки
kind string Тип коллекции. Значение: "analytics#profiles".
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 View (Profile) Developer Guide for details.
 */

/**
 * Example #1:
 * Requests a list of views (profiles) for the authorized user.
 */
try {
  Profiles profiles = analytics.management.profiles.list("12345",
      "UA-12345-1").execute();

} catch (GoogleJsonResponseException e) {
  System.err.println("There was a service error: "
      + e.getDetails().getCode() + " : "
      + e.getDetails().getMessage());
}

/**
 * Example #2:
 * Retrieves views (profiles) for all properties of the user's account,
 * using a wildcard '~all' as the webpropertyId.
 */
Profiles profiles = analytics.management.profiles.list("12345",
    "~all").execute();

/**
 * Example #3:
 * The results of the list method are stored in the profiles object.
 * The following code shows how to iterate through them.
 */
for (Profile profile : profiles.getItems()) {
  System.out.println("Account ID: " + profile.getAccountId());
  System.out.println("Property ID: " + profile.getWebPropertyId());
  System.out.println("Property Internal ID: "
      + profile.getInternalWebPropertyId());
  System.out.println("View (Profile) ID: " + profile.getId());
  System.out.println("View (Profile) Name: " + profile.getName());
  System.out.println("View (Profile) defaultPage: " + profile.getDefaultPage());
  System.out.println("View (Profile) Exclude Query Parameters: "
      + profile.getExcludeQueryParameters());
  System.out.println("View (Profile) Site Search Query Parameters: "
      + profile.getSiteSearchQueryParameters());
  System.out.println("View (Profile) Site Search Category Parameters: "
      + profile.getSiteSearchCategoryParameters());
  System.out.println("View (Profile) Currency: " + profile.getCurrency());
  System.out.println("View (Profile) Timezone: " + profile.getTimezone());
  System.out.println("View (Profile) Created: " + profile.getCreated());
  System.out.println("View (Profile) Updated: " + profile.getUpdated());
  System.out.println("View (Profile) eCommerce Tracking: "
      + profile.getECommerceTracking());
  System.out.println("View (Profile) Enhanced eCommerce Tracking: "
      + profile.getEnhancedECommerceTracking());
}

PHP

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

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

/**
 * Example #1:
 * Requests a list of views (profiles) for the authorized user.
 */
try {
  $profiles = $analytics->management_profiles
      ->listManagementProfiles('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:
 * Retrieves views (profiles) for all properties of the user's account,
 * using a wildcard '~all' as the webpropertyId.
 */
$profiles = $analytics->management_profiles
    ->listManagementProfiles('123456', '~all');

/**
 * Example #3:
 * The results of the list method are stored in the profiles object.
 * The following code shows how to iterate through them.
 */
foreach ($profiles->getItems() as $profile) {
  $html = <<<HTML
<pre>
Account id                      = {$profile->getAccountId()}
Property id                     = {$profile->getWebPropertyId()}
View (Profile) id               = {$profile->getId()}
View (Profile) name             = {$profile->getName()}
View (Profile) type             = {$profile->getType()}
Default page                    = {$profile->getDefaultPage()}
Exclude query parameters        = {$profile->getExcludeQueryParameters()}
Site search category parameters = {$profile->getSiteSearchCategoryParameters()}
Currency                        = {$profile->getCurrency()}
Timezone                        = {$profile->getTimezone()}
Created                         = {$profile->getCreated()}
Updated                         = {$profile->getUpdated()}
eCommerce tracking              = {$profile->getECommerceTracking()}
Enhanced eCommerce Tracking     = {$profile->getEnhancedECommerceTracking()}
</pre>
HTML;
  print $html;
}

Python

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

# Note: This code assumes you have an authorized Analytics service object.
# See the View (Profile) Developer Guide for details.

# Example #1:
# Requests a list of views (profiles) for the authorized user.
try:
  profiles = analytics.management().profiles().list(
      accountId='12345',
      webPropertyId='UA-12345-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:
# Retrieves views (profiles) for all properties of the user's account,
# using a wildcard '~all' as the webpropertyId.
profiles = analytics.management().profiles().list(accountId='12345',
                                                  webPropertyId='~all'
                                                 ).execute()

# Example #3:
# The results of the list method are stored in the profiles object.
# The following code shows how to iterate through them.
for profile in profiles.get('items', []):
  print 'Account ID                = %s' % profile.get('accountId')
  print 'Property ID           = %s' % profile.get('webPropertyId')
  print 'Internal Property ID  = %s' % profile.get('internalWebPropertyId')
  print 'View (Profile ID)         = %s' % profile.get('id')
  print 'View (Profile) Name       = %s' % profile.get('name')

  print 'Default Page = %s' %  profile.get('defaultPage')
  print 'Exclude Query Parameters        = %s' % profile.get(
      'excludeQueryParameters')
  print 'Site Search Category Parameters = %s' % profile.get(
      'siteSearchCategoryParameters')
  print 'Site Search Query Parameters    = %s' % profile.get(
      'siteSearchQueryParameters')

  print 'Currency = %s' % profile.get('currency')
  print 'Timezone = %s' % profile.get('timezone')
  print 'Created  = %s' % profile.get('created')
  print 'Updated  = %s' % profile.get('updated')
  print 'eCommerce Tracking = %s' % profile.get('eCommerceTracking')
  print 'Enhanced eCommerce Tracking = %s' % profile.get(
      'enhancedECommerceTracking')

JavaScript

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

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

/*
 * Example 1:
 * Requests a list of all View (Profiles) for the authorized user.
 */
function listViews() {
  var request = gapi.client.analytics.management.profiles.list({
    'accountId': '123456',
    'webPropertyId': 'UA-123456-1'
  });
  request.execute(printViews);
}

/*
 * Example 2:
 * The results of the list method are passed as the results object.
 * The following code shows how to iterate through them.
 */
function printViews(results) {
  if (results && !results.error) {
    var profiles = results.items;
    for (var i = 0, profile; profile = profiles[i]; i++) {
      console.log('Account Id: ' + profile.accountId);
      console.log('Property Id: ' + profile.webPropertyId);
      console.log('Internal Property Id: ' + profile.internalWebPropertyId);
      console.log('View (Profile) Id: ' + profile.id);
      console.log('View (Profile) Name: ' + profile.name);

      console.log('Default Page: ' + profile.defaultPage);
      console.log('Exclude Query Parameters: '
          + profile.excludeQueryParameters);
      console.log('Site Search Category Parameters'
          + profile.siteSearchCategoryParameters);
      console.log('Site Search Query Parameters: '
          + profile.siteSearchQueryParameters);

      console.log('Currency: ' + profile.currency);
      console.log('Timezone: ' + profile.timezone);
      console.log('Created: ' + profile.created);
      console.log('Updated: ' + profile.updated);
    }
  }
}

Практическое занятие

Воспользуйтесь инструментом API Explorer ниже, чтобы применить этот метод к реальным данным и посмотреть, как он работает. Также можно перейти на эту страницу.