Account Summaries: list

Wymaga autoryzacji

Wyświetla podsumowania kont (podstawowe drzewo złożone z kont, usług i profili), do których użytkownik ma dostęp. Wypróbuj teraz lub zobacz przykład.

Prośba

Żądanie HTTP

GET https://www.googleapis.com/analytics/v3/management/accountSummaries

Parametry

Nazwa parametru Wartość Opis
Opcjonalne parametry zapytania
max-results integer Maksymalna liczba podsumowań kont, które mają być uwzględnione w tej odpowiedzi, przy czym największa akceptowalna wartość to 1000.
start-index integer Indeks pierwszej encji do pobrania. Użyj tego parametru jako mechanizmu podziału na strony razem z parametrem max-results.

Upoważnienie

To żądanie wymaga autoryzacji z użyciem co najmniej jednego z tych zakresów (więcej informacji o uwierzytelnianiu i autoryzacji).

Zakres
https://www.googleapis.com/auth/analytics.edit
https://www.googleapis.com/auth/analytics.readonly

Treść żądania

Nie podawaj treści żądania za pomocą tej metody.

Odpowiedź

Jeśli operacja się uda, metoda zwróci odpowiedź o następującej strukturze:

{
  "kind": "analytics#accountSummaries",
  "username": string,
  "totalResults": integer,
  "startIndex": integer,
  "itemsPerPage": integer,
  "previousLink": string,
  "nextLink": string,
  "items": [
    management.accountSummaries Resource
  ]
}
nazwa usługi, Wartość Opis Uwagi
kind string Typ kolekcji.
username string Identyfikator e-mail uwierzytelnionego użytkownika.
totalResults integer Łączna liczba wyników zapytania, niezależnie od liczby wyników w odpowiedzi.
startIndex integer Początkowy indeks zasobów, który ma domyślnie wartość 1 lub jest określony przez parametr zapytania start-index.
itemsPerPage integer Maksymalna liczba zasobów, które może zawierać odpowiedź, niezależnie od rzeczywistej liczby zwróconych zasobów. Ma ona zakres od 1 do 1000 i domyślnie przyjmuje wartość 1000 lub jest określona w inny sposób przez parametr zapytania „max-results”.
items[] list Lista podsumowań kont.

Przykłady

Uwaga: dostępne dla tej metody przykłady kodu nie odzwierciedlają wszystkich obsługiwanych języków programowania. Listę obsługiwanych języków znajdziesz na stronie z bibliotekami klienta.

Java

Używa biblioteki klienta 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

Wykorzystuje bibliotekę klienta 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

Używa biblioteki klienta Pythona.

# 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

Używa biblioteki klienta 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);
  }
}

Wypróbuj

Użyj eksploratora interfejsów API poniżej, aby wywołać tę metodę na aktywnych danych i zobaczyć odpowiedź. Możesz też wypróbować samodzielny eksplorator.