<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="analytics_v3.html">Google Analytics API</a> . <a href="analytics_v3.management.html">management</a> . <a href="analytics_v3.management.accounts.html">accounts</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#list">list(max_results=None, start_index=None)</a></code></p>
<p class="firstline">Lists all accounts to which the user has access.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="list">list(max_results=None, start_index=None)</code>
  <pre>Lists all accounts to which the user has access.

Args:
  max_results: integer, The maximum number of accounts to include in this response.
  start_index: integer, An index of the first account to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.

Returns:
  An object of the form:

    { # An account collection provides a list of Analytics accounts to which a user has access. The account collection is the entry point to all management information. Each resource in the collection corresponds to a single Analytics account.
    "username": "A String", # Email ID of the authenticated user
    "kind": "analytics#accounts", # Collection type.
    "items": [ # A list of accounts.
      { # JSON template for Analytics account entry.
        "kind": "analytics#account", # Resource type for Analytics account.
        "name": "A String", # Account name.
        "created": "A String", # Time the account was created.
        "updated": "A String", # Time the account was last modified.
        "childLink": { # Child link for an account entry. Points to the list of web properties for this account.
          "href": "A String", # Link to the list of web properties for this account.
          "type": "analytics#webproperties", # Type of the child link. Its value is "analytics#webproperties".
        },
        "starred": True or False, # Indicates whether this account is starred or not.
        "id": "A String", # Account ID.
        "selfLink": "A String", # Link for this account.
        "permissions": { # Permissions the user has for this account.
          "effective": [ # All the permissions that the user has for this account. These include any implied permissions (e.g., EDIT implies VIEW).
            "A String",
          ],
        },
      },
    ],
    "itemsPerPage": 42, # The maximum number of entries the response can contain, regardless of the actual number of entries returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.
    "previousLink": "A String", # Previous link for this account collection.
    "startIndex": 42, # The starting index of the entries, which is 1 by default or otherwise specified by the start-index query parameter.
    "nextLink": "A String", # Next link for this account collection.
    "totalResults": 42, # The total number of results for the query, regardless of the number of results in the response.
  }</pre>
</div>

</body></html>