Требуется авторизация
Выводит список сводок по аккаунтам (краткое дерево, описывающее аккаунты, ресурсы и профили), доступных пользователю. Испытайте его в действии или изучите готовый пример.
Запрос
HTTP-запрос
GET https://www.googleapis.com/analytics/v3/management/accountSummaries
Параметры
Название параметра | Значение | Описание |
---|---|---|
Необязательные параметры запроса | ||
max-results |
integer |
Максимальное количество сводок по аккаунтам, включаемых в ответ (не более 1000). |
start-index |
integer |
Индекс первого извлекаемого объекта. Используется совместно с параметром max-results для разбиения результатов на страницы. |
Авторизация
Для выполнения этого запроса требуется авторизация как минимум в одной из следующих областей доступа. Подробнее...
Область доступа |
---|
https://www.googleapis.com/auth/analytics.edit |
https://www.googleapis.com/auth/analytics.readonly |
Тело запроса
При работе с данным методом тело запроса не используется.
Ответ
В случае успеха метод возвращает тело ответа со следующей структурой:
{ "kind": "analytics#accountSummaries", "username": string, "totalResults": integer, "startIndex": integer, "itemsPerPage": integer, "previousLink": string, "nextLink": string, "items": [ management.accountSummaries Resource ] }
Название свойства | Значение | Описание | Заметки |
---|---|---|---|
kind |
string |
Тип коллекции. | |
username |
string |
Электронный адрес пользователя, прошедшего аутентификацию. | |
totalResults |
integer |
Общее число результатов запроса, не зависящее от числа результатов в ответе. | |
startIndex |
integer |
Начальный индекс ресурса. По умолчанию равен 1 или задается с помощью параметра запроса start-index. | |
itemsPerPage |
integer |
Максимальное количество ресурсов в ответе, независимо от фактически возвращаемого количества ресурсов. Задается с помощью параметра max-results в диапазоне от 1 до 1000 (значение по умолчанию). | |
previousLink |
string |
Ссылка на предыдущую страницу коллекции AccountSummary. | |
nextLink |
string |
Ссылка на следующую страницу коллекции AccountSummary. | |
items[] |
list |
Список сводок по аккаунтам. |
Примеры
Примечание. Примеры кода для этого метода не охватывают все поддерживаемые языки программирования (их список опубликован на странице, посвященной клиентским библиотекам).
Java
Используется клиентская библиотека Java.
/** * Note: This code assumes you have an authorized Analytics service object. * See the Account Summaries Developer Guide for details. */ /** * Example #1: * Requests a list of all account summaries for the authorized user. */ try { AccountSummaries accountSummaries = service.management(). accountSummaries().list().execute(); } catch (IOException e) { System.out.println("An error occurred: " + e); } /** * Example #2: * The results of the list method are stored in the accountSummaries object. * The following code shows how to iterate through them. **/ public static void printAccountSummaries(AccountSummaries accountSummaries) { for (AccountSummary account : accountSummaries.getItems()) { System.out.println(account.getName() + " (" + account.getId() + ")"); printPropertySummaries(account); } } private static void printPropertySummaries(AccountSummary accountSummary) { for (WebPropertySummary property : accountSummary.getWebProperties()) { System.out.println(" " + property.getName() + " (" + property.getId() + ")"); System.out.println(" [" + property.getWebsiteUrl() + " | " + property.getLevel() + "]"); printProfileSummary(property); } } private static void printProfileSummary(WebPropertySummary webPropertySummary) { for (ProfileSummary profile : webPropertySummary.getProfiles()) { System.out.println(" " + profile.getName() + " (" + profile.getId() + ") | " + profile.getType()); } }
PHP
Используется клиентская библиотека PHP.
/** * Note: This code assumes you have an authorized Analytics service object. * See the Account Summaries Developer Guide for details. */ /** * Example #1: * Requests a list of all account summaries for the authorized user. */ try { $accounts = $analytics->management_accountSummaries ->listManagementAccountSummaries(); } 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 accounts object. * The following code shows how to iterate through them. */ foreach ($accounts->getItems() as $account) { $html = <<<HTML <pre> Account id = {$account->getId()} Account kind = {$account->getKind()} Account name = {$account->getName()} HTML; // Iterate through each Property. foreach ($account->getWebProperties() as $property) { $html .= <<<HTML Property id = {$property->getId()} Property kind = {$property->getKind()} Property name = {$property->getName()} Internal property id = {$property->getInternalWebPropertyId()} Property level = {$property->getLevel()} Property URL = {$property->getWebsiteUrl()} HTML; // Iterate through each view (profile). foreach ($property->getProfiles() as $profile) { $html .= <<<HTML Profile id = {$profile->getId()} Profile kind = {$profile->getKind()} Profile name = {$profile->getName()} Profile type = {$profile->getType()} HTML; } } $html .= '</pre>'; print $html; }
Python
Используется клиентская библиотека Python.
# Note: This code assumes you have an authorized Analytics service object. # See the Account Summaries Developer Guide for details. # Example #1: # Requests a list of all account summaries for the authorized user. try: account_summaries = analytics.management().accountSummaries().list().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 account_summaries object. # The following code shows how to iterate through them. for account in account_summaries.get('items', []): print '\n%s (%s)' % (account.get('name'), account.get('id')) print_property_summaries(account) def print_property_summaries(account_summary): if account_summary: for property in account_summary.get('webProperties', []): print ' %s (%s)' % (property.get('name'), property.get('id')) print ' [%s | %s]' % (property.get('websiteUrl'), property.get('level')) print_profile_summary(property) def print_profile_summary(property_summary): if property_summary: for profile in property_summary.get('profiles', []): print ' %s (%s) | %s' % (profile.get('name'), profile.get('id'), profile.get('type'))
JavaScript
Используется клиентская библиотека JavaScript.
/* * Note: This code assumes you have an authorized Analytics client object. * See the Account Summaries Developer Guide for details. */ /* * Example 1: * Requests a list of all account summaries for the authorized user. */ function listAccountSummaries() { var request = gapi.client.analytics.management.accountSummaries.list(); request.execute(handleResponse); } /* * Example 2: * The results of the list method are passed as the response object. * The following code shows how to iterate through them. */ function handleResponse(response) { if (response && !response.error) { if (response.items) { printAccountSummaries(response.items); } } else { console.log('There was an error: ' + response.message); } } function printAccountSummaries(accounts) { for (var i = 0, account; account = accounts[i]; i++) { console.log('Account id: ' + account.id); console.log('Account name: ' + account.name); console.log('Account kind: ' + account.kind); // Print the properties. if (account.webProperties) { printProperties(account.webProperties); } } } function printProperties(properties) { for (var j = 0, property; property = properties[j]; j++) { console.log('Property id: ' + property.id); console.log('Property name: ' + property.name); console.log('Property kind: ' + property.kind); console.log('Internal id: ' + property.internalWebPropertyId); console.log('Property level: ' + property.level); console.log('Property url: ' + property.websiteUrl); // Print the views (profiles). if (property.profiles) { printProfiles(property.profiles); } } } function printProfiles(profiles) { for (var k = 0, profile; profile = profiles[k]; k++) { console.log('Profile id: ' + profile.id); console.log('Profile name: ' + profile.name); console.log('Profile kind: ' + profile.kind); console.log('Profile type: ' + profile.type); } }
Практическое занятие
Воспользуйтесь инструментом API Explorer ниже, чтобы применить этот метод к реальным данным и посмотреть, как он работает. Также можно перейти на эту страницу.