Ссылки на пользователей профиля: метод list

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

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

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

Запрос

HTTP-запрос

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

Параметры

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

Авторизация

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

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

Тело запроса

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

Ответ

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

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

/*
 * Example #1:
 * This request lists all View (Profile) User Links for the authorized user.
 */
try {
  EntityUserLinks profileLinks = analytics.management().
      profileUserLinks().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 profileLinks object.
 * The following code shows how to iterate through them.
 */
for (EntityUserLink profileUserLink : profileLinks.getItems()) {
  Entity entity = profileUserLink.getEntity();
  ProfileRef profileRef = entity.getProfileRef();
  UserRef userRef = profileUserLink.getUserRef();
  Permissions permissions = profileUserLink.getPermissions();

  System.out.println("Profile User Link Id: " + profileUserLink.getId());
  System.out.println("Profile User Link kind: " + userRef.getKind());
  System.out.println("User Email: " + userRef.getEmail());
  System.out.println("Permissions effective: " + permissions.getEffective());
  System.out.println("Permissions local: " + permissions.getLocal());
  System.out.println("Profile Id: " + profileRef.getId());
  System.out.println("Profile Kind: " + profileRef.getKind());
  System.out.println("Profile Name: " + profileRef.getName());
}

PHP

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

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

/**
 * Example #1:
 * Requests a list of all view (profile) user links for the authorized user.
 */
try {
  $profileUserlinks = $analytics->management_profileUserLinks
      ->listManagementProfileUserLinks('123456', 'UA-123456-1', '756321');
} 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 profileUserlinks object.
 * The following code shows how to iterate through them.
 */
foreach ($profileUserlinks->getItems() as $profileUserLink) {
  $entity = $profileUserLink->getEntity();
  $profileRef = $entity->getProfileRef();
  $userRef = $profileUserLink->getUserRef();
  $permissions = $profileUserLink->getPermissions();

  $html = <<<HTML
<pre>
Profile user link id   = {$profileUserLink->getId()}
Profile user link kind = {$profileUserLink->getKind()}

Profile id   = {$profileRef->getId()}
Profile name = {$profileRef->getName()}
Profile kind = {$profileRef->getKind()}

Permissions local     = {$permissions->getLocal()}
Permissions effective = {$permissions->getEffective()}

User id    = {$userRef->getId()}
User kind  = {$userRef->getKind()}
User email = {$userRef->getEmail()}
</pre>
HTML;
  print $html;
}

Python

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

# Note: This code assumes you have an authorized Analytics service object.
# See the User Permissions Developer Guide for details.

# Example #1:
# Requests a list of profile-user links for a given view (profile).
try:
  profile_links = analytics.management().profileUserLinks().list(
      accountId='123456',
      webPropertyId='UA-123456-1',
      profileId='12345678'
  ).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 profile_links object.
# The following code shows how to iterate through them.
for profileUserLink in profile_links.get('items', []):
  entity = profileUserLink.get('entity', {})
  profileRef = entity.get('profileRef', {})
  userRef = profileUserLink.get('userRef', {})
  permissions = profileUserLink.get('permissions', {})

  print 'Profile User Link Id   = %s' % profileUserLink.get('id')
  print 'Profile User Link kind = %s' % profileUserLink.get('kind')
  print 'User Email             = %s' % userRef.get('email')
  print 'Permissions effective  = %s' % permissions.get('effective')
  print 'Permissions local      = %s' % permissions.get('local')
  print 'Profile Id             = %s' % profileRef.get('id')
  print 'Profile kind           = %s' % profileRef.get('kind')
  print 'Profile Name           = %s\n' % profileRef.get('name')

JavaScript

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

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

/*
 * Example 1:
 * Requests a list of all View (Profile) User links for the authorized user.
 */
function listProfileUserLinks() {
  var request = gapi.client.analytics.management.profileUserLinks.list({
      'accountId': '123456',
      'webPropertyId': 'UA-123456-1',
      'profileId': '7654321'
  });
  request.execute(printProfileUserLinks);
}

/*
 * Example 2:
 * The results of the list method are passed as the results object.
 * The following code shows how to iterate through them.
 */
function printProfileUserLinks(results) {
  if (results && !results.error) {
    var profileLinks = results.items;
    for (var i = 0, profileUserLink; profileUserLink = profileLinks[i]; i++) {
      var entity = profileUserLink.entity;
      var profileRef = entity.profileRef;
      var userRef = profileUserLink.userRef;
      var permissions = profileUserLink.permissions;

      console.log('Profile User Link Id: ' + profileUserLink.id);
      console.log('Profile User Link Kind: ' + profileUserLink.kind);
      console.log('User Email: ' + userRef.email);
      console.log('Permissions effective: ' + permissions.effective);
      console.log('Permissions local: ' + permissions.local);
      console.log('Profile Id: ' + profileRef.id);
      console.log('Profile Kind: ' + profileRef.kind);
      console.log('Profile Name: ' + profileRef.name);
    }
  }
}

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

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