非抽样报告:list

需要授权

列出用户有访问权限的非抽样报告。 查看示例

请求

HTTP 请求

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

参数

参数名称 说明
路径参数
accountId string 要为其提取非抽样报告的帐号 ID。必须是具体的帐号 ID,不支持使用“~all”。
profileId string 要为其提取非抽样报告的数据视图(配置文件)ID。必须是具体的数据视图(配置文件)ID,不支持使用“~all”。
webPropertyId string 要为其提取非抽样报告的网络媒体资源 ID。必须是具体的网络媒体资源 ID,不支持使用“~all”。t supported.
可选查询参数
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 已验证用户的电子邮件 ID
totalResults integer 查询的结果总数,与结果中的资源数量无关。
startIndex integer 资源的起始索引,默认为 1,或者通过 start-index 查询参数指定。
itemsPerPage integer 响应所能包含的资源数量上限,与返回的实际资源数无关。其值的范围为 1 至 1000,默认值为 1000,或者通过 max-results 查询参数指定。
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);
    }
  }
}