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

<div class="method">
    <code class="details" id="list">list(accountId, webPropertyId, max_results=None, start_index=None)</code>
  <pre>List custom data sources to which the user has access.

Args:
  accountId: string, Account Id for the custom data sources to retrieve. (required)
  webPropertyId: string, Web property Id for the custom data sources to retrieve. (required)
  max_results: integer, The maximum number of custom data sources to include in this response.
  start_index: integer, A 1-based index of the first custom data source to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.

Returns:
  An object of the form:

    { # Lists Analytics custom data sources to which the user has access. Each resource in the collection corresponds to a single Analytics custom data source.
    &quot;username&quot;: &quot;A String&quot;, # Email ID of the authenticated user
    &quot;previousLink&quot;: &quot;A String&quot;, # Link to previous page for this custom data source collection.
    &quot;nextLink&quot;: &quot;A String&quot;, # Link to next page for this custom data source collection.
    &quot;totalResults&quot;: 42, # The total number of results for the query, regardless of the number of results in the response.
    &quot;itemsPerPage&quot;: 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.
    &quot;startIndex&quot;: 42, # The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.
    &quot;items&quot;: [ # Collection of custom data sources.
      { # JSON template for an Analytics custom data source.
        &quot;schema&quot;: [ # Collection of schema headers of the custom data source.
          &quot;A String&quot;,
        ],
        &quot;childLink&quot;: {
          &quot;type&quot;: &quot;A String&quot;, # Value is &quot;analytics#dailyUploads&quot;. Value is &quot;analytics#uploads&quot;.
          &quot;href&quot;: &quot;A String&quot;, # Link to the list of daily uploads for this custom data source. Link to the list of uploads for this custom data source.
        },
        &quot;type&quot;: &quot;A String&quot;, # Type of the custom data source.
        &quot;updated&quot;: &quot;A String&quot;, # Time this custom data source was last modified.
        &quot;kind&quot;: &quot;analytics#customDataSource&quot;, # Resource type for Analytics custom data source.
        &quot;webPropertyId&quot;: &quot;A String&quot;, # Web property ID of the form UA-XXXXX-YY to which this custom data source belongs.
        &quot;profilesLinked&quot;: [ # IDs of views (profiles) linked to the custom data source.
          &quot;A String&quot;,
        ],
        &quot;description&quot;: &quot;A String&quot;, # Description of custom data source.
        &quot;name&quot;: &quot;A String&quot;, # Name of this custom data source.
        &quot;importBehavior&quot;: &quot;A String&quot;,
        &quot;accountId&quot;: &quot;A String&quot;, # Account ID to which this custom data source belongs.
        &quot;id&quot;: &quot;A String&quot;, # Custom data source ID.
        &quot;uploadType&quot;: &quot;A String&quot;, # Upload type of the custom data source.
        &quot;selfLink&quot;: &quot;A String&quot;, # Link for this Analytics custom data source.
        &quot;created&quot;: &quot;A String&quot;, # Time this custom data source was created.
        &quot;parentLink&quot;: { # Parent link for this custom data source. Points to the web property to which this custom data source belongs.
          &quot;href&quot;: &quot;A String&quot;, # Link to the web property to which this custom data source belongs.
          &quot;type&quot;: &quot;analytics#webproperty&quot;, # Value is &quot;analytics#webproperty&quot;.
        },
      },
    ],
    &quot;kind&quot;: &quot;analytics#customDataSources&quot;, # Collection type.
  }</pre>
</div>

</body></html>