Experiments: 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);
        }
      }
    }
  }
}