实验:list

需要授权

列出用户有访问权限的实验。 查看示例

除了标准参数之外,此方法还支持参数表中列出的参数。

请求

HTTP 请求

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

参数

参数名称 说明
路径参数
accountId string 要为其提取实验的帐户 ID。
profileId string 要为其提取实验的数据视图(配置文件)ID。
webPropertyId string 要为其提取实验的网络媒体资源 ID。
可选查询参数
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#experiments",
  "username": string,
  "totalResults": integer,
  "startIndex": integer,
  "itemsPerPage": integer,
  "previousLink": string,
  "nextLink": string,
  "items": [
    management.experiments 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 Experiments Developer Guide for details.
 */

/*
 * Example #1
 * This example requests a list of all Experiments for the authorized user.
 */
try {
  Experiments experiments = analytics.management().experiments().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 experiments object.
 * The following code shows how to iterate through them.
 */
for (Experiment experiment : experiments.getItems()) {
  System.out.println("Experiment Id     = " + experiment.getId());
  System.out.println("Experiment Name   = " + experiment.getName());
  System.out.println("Experiment Status = " + experiment.getStatus());

  // Loop through the variations.
  for (Variations variations : experiment.getVariations()) {
    System.out.println("Variation Name   = " + variations.getName());
    System.out.println("Variation Status = " + variations.getStatus());
    System.out.println("Variation Won    = " + variations.getWon() + "\n");
  }
}

PHP

使用 PHP 客户端库

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

/**
 * Example #1:
 * Requests a list of all Experiments for the authorized user.
 */
try {
  $experiments = $analytics->management_experiments
      ->listManagementExperiments('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 experiments object.
 * The following code shows how to iterate through them.
 */
foreach ($experiments->getItems() as $experiment) {

  $html = <<<HTML
<pre>
Experiment id     = {$experiment->getId()}
Experiment name   = {$experiment->getName()}
Experiment status = {$experiment->getStatus()}

HTML;
  foreach ($experiment->getVariations() as $variation) {
    $html .= <<< HTML
Variation name   = {$variation->getName()}
Variation status = {$variation->getStatus()}
Variation won    = {$variation->getWon()}

HTML;
  }
  $html .= '</pre>';
  print $html;
}

Python

使用 Python 客户端库

# Note: This code assumes you have an authorized Analytics service object.
# See the Experiments Dev Guide for details.

# Example #1:
# Requests a list of all experiments for the authorized user.
try:
  experiments = analytics.management().experiments().list(
      accountId='123456',
      webPropertyId='UA-123456-1',
      profileId='98765432'
  ).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 experiments object.
# The following code shows how to iterate through them.
for experiment in experiments.get('items', []):
  print 'Experiment Id     = %s' % experiment.get('id')
  print 'Experiment Name   = %s' % experiment.get('name')
  print 'Experiment Status = %s\n' % experiment.get('status')
  variations = experiment.get('variations', [])
  for variation in variations:
    print 'Variation Name   = %s' % variation.get('name')
    print 'Variation Status = %s' % variation.get('status')
    print 'Variation Won    = %s' % variation.get('won')

JavaScript

使用 JavaScript 客户端库

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

/*
 * Example 1:
 * Requests a list of all experiments for the authorized user.
 */
function listExperiements() {
  var request = gapi.client.analytics.management.experiments.list({
    'accountId': '123456',
    'webPropertyId': 'UA-123456-1',
    'profileId': '7654321'
  });
  request.execute(printExperiments);
}

/*
 * Example 2:
 * The results of the list method are passed as the results object.
 * The following code shows how to iterate through them.
 */
function printExperiments(results) {
  if (results && !results.error) {
    var experiments = results.items;
    for (var i = 0, experiment; experiment = experiments[i]; i++) {
      console.log('Experiment Id: ' + experiment.id);
      console.log('Experiment Kind: ' + experiment.kind);
      console.log('Experiment Name: ' + experiment.name);

      // Iterate through the variations.
      var variations = experiment.variations;
      if (variations) {
        for (var j = 0, variation; variation = variations[j]; j++) {
          console.log('Variation Name: ' + variation.name);
          console.log('Variation Status: ' + variation.status);
          console.log('Variation URL: ' + variation.url);
          console.log('Variation Won: ' + variation.won);
        }
      }
    }
  }
}