<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.profiles.html">profiles</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#list">list(accountId, webPropertyId, max_results=None, start_index=None)</a></code></p>
<p class="firstline">Lists profiles to which the user has access.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="list">list(accountId, webPropertyId, max_results=None, start_index=None)</code>
  <pre>Lists profiles to which the user has access.

Args:
  accountId: string, Account ID for the profiles to retrieve. Can either be a specific account ID or '~all', which refers to all the accounts to which the user has access. (required)
  webPropertyId: string, Web property ID for the profiles to retrieve. Can either be a specific web property ID or '~all', which refers to all the web properties to which the user has access. (required)
  max_results: integer, The maximum number of profiles to include in this response.
  start_index: integer, An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.

Returns:
  An object of the form:

    { # A profile collection lists Analytics profiles to which the user has access. Each resource in the collection corresponds to a single Analytics profile.
    "username": "A String", # Email ID of the authenticated user
    "kind": "analytics#profiles", # Collection type.
    "items": [ # A list of profiles.
      { # JSON template for an Analytics profile.
        "defaultPage": "A String", # Default page for this profile.
        "kind": "analytics#profile", # Resource type for Analytics profile.
        "excludeQueryParameters": "A String", # The query parameters that are excluded from this profile.
        "name": "A String", # Name of this profile.
        "created": "A String", # Time this profile was created.
        "webPropertyId": "A String", # Web property ID of the form UA-XXXXX-YY to which this profile belongs.
        "updated": "A String", # Time this profile was last modified.
        "siteSearchQueryParameters": "A String", # The site search query parameters for this profile.
        "websiteUrl": "A String", # Website URL for this profile.
        "currency": "A String", # The currency type associated with this profile.
        "internalWebPropertyId": "A String", # Internal ID for the web property to which this profile belongs.
        "childLink": { # Child link for this profile. Points to the list of goals for this profile.
          "href": "A String", # Link to the list of goals for this profile.
          "type": "analytics#goals", # Value is "analytics#goals".
        },
        "eCommerceTracking": True or False, # E-commerce tracking parameter for this profile.
        "timezone": "A String", # Time zone for which this profile has been configured.
        "siteSearchCategoryParameters": "A String", # Site search category parameters for this profile.
        "parentLink": { # Parent link for this profile. Points to the web property to which this profile belongs.
          "href": "A String", # Link to the web property to which this profile belongs.
          "type": "analytics#webproperty", # Value is "analytics#webproperty".
        },
        "type": "A String", # Profile type. Supported types: WEB or APP.
        "id": "A String", # Profile ID.
        "selfLink": "A String", # Link for this profile.
        "accountId": "A String", # Account ID to which this profile belongs.
      },
    ],
    "itemsPerPage": 42, # The maximum number of resources the response can contain, regardless of the actual number of resources 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", # Link to previous page for this profile collection.
    "startIndex": 42, # The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.
    "nextLink": "A String", # Link to next page for this profile collection.
    "totalResults": 42, # The total number of results for the query, regardless of the number of results in the response.
  }</pre>
</div>

</body></html>