帐号摘要:list

需要授权

列出用户有访问权限的帐号摘要(由帐号/媒体资源/配置文件组成的简明树状视图)。 立即试用查看示例

请求

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 已验证用户的电子邮件 ID
totalResults integer 查询的结果总数,与响应中的结果数无关。
startIndex integer 资源的起始索引,默认为 1,或者通过 start-index 查询参数指定。
itemsPerPage integer 响应所能包含的资源数量上限,与返回的实际资源数无关。其值的范围为 1 至 1000,默认值为 1000,或者通过 max-results 查询参数指定。
items[] list AccountSummaries 的列表。

示例

备注:此方法的代码示例并未列出所有受支持的编程语言(请参阅客户端库页面,查看受支持的语言列表)。

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 针对实时数据调用此方法并查看响应。或者,您还可以尝试使用独立的 Explorer