<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.
    &quot;username&quot;: &quot;A String&quot;, # Email ID of the authenticated user
    &quot;items&quot;: [ # A list of accounts.
      { # JSON template for Analytics account entry.
        &quot;kind&quot;: &quot;analytics#account&quot;, # Resource type for Analytics account.
        &quot;created&quot;: &quot;A String&quot;, # Time the account was created.
        &quot;permissions&quot;: { # Permissions the user has for this account.
          &quot;effective&quot;: [ # All the permissions that the user has for this account. These include any implied permissions (e.g., EDIT implies VIEW).
            &quot;A String&quot;,
          ],
        },
        &quot;updated&quot;: &quot;A String&quot;, # Time the account was last modified.
        &quot;childLink&quot;: { # Child link for an account entry. Points to the list of web properties for this account.
          &quot;href&quot;: &quot;A String&quot;, # Link to the list of web properties for this account.
          &quot;type&quot;: &quot;analytics#webproperties&quot;, # Type of the child link. Its value is &quot;analytics#webproperties&quot;.
        },
        &quot;selfLink&quot;: &quot;A String&quot;, # Link for this account.
        &quot;id&quot;: &quot;A String&quot;, # Account ID.
        &quot;starred&quot;: True or False, # Indicates whether this account is starred or not.
        &quot;name&quot;: &quot;A String&quot;, # Account name.
      },
    ],
    &quot;totalResults&quot;: 42, # The total number of results for the query, regardless of the number of results in the response.
    &quot;nextLink&quot;: &quot;A String&quot;, # Next link for this account collection.
    &quot;startIndex&quot;: 42, # The starting index of the entries, which is 1 by default or otherwise specified by the start-index query parameter.
    &quot;itemsPerPage&quot;: 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.
    &quot;previousLink&quot;: &quot;A String&quot;, # Previous link for this account collection.
    &quot;kind&quot;: &quot;analytics#accounts&quot;, # Collection type.
  }</pre>
</div>

</body></html>