Полные отчеты: метод list

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

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

Запрос

HTTP-запрос

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

Параметры

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

Тело запроса

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

Ответ

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

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

/*
 * Example #1:
 * Requests a list of all unsampled reports for the authorized user.
 */

try {
  UnsampledReports reports = analytics.management().
      unsampledReports().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 reports object.
 * The following code shows how to iterate through them.
 */
for (UnsampledReport report : reports.getItems()) {
  System.out.println("Account Id = " + report.getAccountId());
  System.out.println("Property Id  = " + report.getWebPropertyId());
  System.out.println("Report Id = " + report.getId());
  System.out.println("Report Title = " + report.getTitle());
  System.out.println("Report Kind = " + report.getKind());
  System.out.println("Report start-date = " + report.getStartDate());
  System.out.println("Report end-date = " + report.getEndDate());
  System.out.println("Report metric = " + report.getMetrics());
  System.out.println("Report dimensions = " + report.getDimensions());
  System.out.println("Report filters = " + report.getFilters());
  System.out.println("Report Status = " + report.getStatus());
  System.out.println("Report downloadType = " + report.getDownloadType());
  DriveDownloadDetails drive = report.getDriveDownloadDetails();
  CloudStorageDownloadDetails cloud = report.getCloudStorageDownloadDetails();
  System.out.println("Drive Document id = " + drive.getDocumentId());
  System.out.println("Cloud Bucket Id = " + cloud.getBucketId());
  System.out.println("Cloud Object Id = " + cloud.getObjectId());
}

PHP

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

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

/**
 * Example #1:
 * Requests a list of all unsampled reports for the authorized user.
 */
try {
  $reports = $analytics->management_unsampledReports
      ->listManagementUnsampledReports('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 reports object.
 * The following code shows how to iterate through them.
 */
foreach ($reports->getItems() as $report) {
  $drive = $report->getDriveDownloadDetails();
  $cloud = $report->getCloudStorageDownloadDetails();
  $html = <<<HTML
<pre>
Account Id          = {$report->getAccountId()}
Property Id         = {$report->getWebPropertyId()}
Report Id           = {$report->getId()}
Report Title        = {$report->getTitle()}
Report Kind         = {$report->getKind()}
Report start-date   = {$report->getStartDate()}
Report end-date     = {$report->getEndDate()}
Report metric       = {$report->getMetrics()}
Report dimensions   = {$report->getDimensions()}
Report filters      = {$report->getFilters()}
Report Status       = {$report->getStatus()}
Report downloadType = {$report->getDownloadType()}
Drive Document id   = {$drive->getDocumentId()}
Cloud Bucket Id     = {$cloud->getBucketId()}
Cloud Object Id     = {$cloud->getObjectId()}
</pre>

HTML;
  print $html;
}

Python

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

# Note: This code assumes you have an authorized Analytics service object.
# See the Unsampled Reports Developers Guide for details.

# Example #1:
# Requests a list of all Unsampled Reports for the authorized user.
try:
  reports = analytics.management().unsampledReports().list(
      accountId='1234567',
      webPropertyId='UA-1234567-1',
      profileId='7654321'
  ).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 reports object.
# The following code shows how to iterate through them.
for report in reports.get('items', []):
  driveDownloadDetails = report.get('driveDownloadDetails', {})
  cloudStorageDownloadDetails = report.get('cloudStorageDownloadDetails', {})

  print 'Account Id            = %s' % report.get('accountId')
  print 'Property Id           = %s' % report.get('webPropertyId')
  print 'Report Id             = %s' % report.get('id')
  print 'Report Title          = %s' % report.get('title')
  print 'Report Kind           = %s' % report.get('kind')
  print 'Report start-date = %s' % report.get('start-date')
  print 'Report end-date = %s' % report.get('end-date')
  print 'Report metrics        = %s' % report.get('metrics')
  print 'Report dimensions = %s' % report.get('dimensions')
  print 'Report filters = %s' % report.get('filters')
  print 'Report Status         = %s\n' % report.get('status')
  print 'Report downloadType = %s' % report.get('downloadType')
  print 'Drive Document Id = %s' % driveDownloadDetails.get('document Id')
  print 'Cloud Bucket Id = %s' % cloudStorageDownloadDetails.get('bucketId')
  print 'Cloud Object Id = %s' % cloudStorageDownloadDetails.get('objectId')
  print 'Report Created = %s' % report.get('created')
  print 'Report Updated = %s' % report.get('updated')

JavaScript

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

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

/*
 * Example 1:
 * Requests a list of all unsampled reports for the authorized user.
 */
function listUnsampledReports() {
  var request = gapi.client.analytics.management.unsampledReports.list({
    'accountId': '123456',
    'webPropertyId': 'UA-123456-1',
    'profileId': '7654321'
  });
  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 printUnsampledReports(results) {
  if (results && !results.error) {
    var reports = results.items;
    for (var i = 0, report; report = reports[i]; i++) {
      console.log('Account Id: ' + report.accountId);
      console.log('Property Id: ' + report.webPropertyId);
      console.log('Report Id: ' + report.id);
      console.log('Report Title: ' + report.title);
      console.log('Report Kind: ' + report.kind);
      console.log('Report start-date:' + report.start-date);
      console.log('Report end-date:' + report.end-date);
      console.log('Report metrics: ' + report.metrics);
      console.log('Report dimensions:' + report.dimensions);
      console.log('Report filters: ' + report.filters);
      console.log('Report Status: ' + report.status);
      console.log('Report downloadType: ' + report.downloadType);

      // Drive document details.
      if (report.driveDownloadDetails) {
        var details = report.driveDownloadDetails;
        console.log('Drive doc id: ' + details.documentId);
      }

      // Cloud storage download details.
      if (report.cloudStorageDownloadDetails) {
        var details = report.cloudStorageDownloadDetails;
        console.log('Cloud bucket id: ' + details.bucketId);
        console.log('Cloud object id: ' + details.objectId);
      }

      console.log('Report Created: ' + report.created);
      console.log('Report Updated: ' + report.updated);
    }
  }
}