<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.data.html">data</a> . <a href="analytics_v3.data.realtime.html">realtime</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="#get">get(ids, metrics, filters=None, dimensions=None, max_results=None, sort=None)</a></code></p>
<p class="firstline">Returns real time data for a view (profile).</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="get">get(ids, metrics, filters=None, dimensions=None, max_results=None, sort=None)</code>
  <pre>Returns real time data for a view (profile).

Args:
  ids: string, Unique table ID for retrieving real time data. Table ID is of the form ga:XXXX, where XXXX is the Analytics view (profile) ID. (required)
  metrics: string, A comma-separated list of real time metrics. E.g., &#x27;rt:activeUsers&#x27;. At least one metric must be specified. (required)
  filters: string, A comma-separated list of dimension or metric filters to be applied to real time data.
  dimensions: string, A comma-separated list of real time dimensions. E.g., &#x27;rt:medium,rt:city&#x27;.
  max_results: integer, The maximum number of entries to include in this feed.
  sort: string, A comma-separated list of dimensions or metrics that determine the sort order for real time data.

Returns:
  An object of the form:

    { # Real time data for a given view (profile).
    &quot;query&quot;: { # Real time data request query parameters.
      &quot;ids&quot;: &quot;A String&quot;, # Unique table ID.
      &quot;metrics&quot;: [ # List of real time metrics.
        &quot;A String&quot;,
      ],
      &quot;filters&quot;: &quot;A String&quot;, # Comma-separated list of dimension or metric filters.
      &quot;dimensions&quot;: &quot;A String&quot;, # List of real time dimensions.
      &quot;sort&quot;: [ # List of dimensions or metrics based on which real time data is sorted.
        &quot;A String&quot;,
      ],
      &quot;max-results&quot;: 42, # Maximum results per page.
    },
    &quot;totalResults&quot;: 42, # The total number of rows for the query, regardless of the number of rows in the response.
    &quot;kind&quot;: &quot;analytics#realtimeData&quot;, # Resource type.
    &quot;columnHeaders&quot;: [ # Column headers that list dimension names followed by the metric names. The order of dimensions and metrics is same as specified in the request.
      {
        &quot;dataType&quot;: &quot;A String&quot;, # Data type. Dimension column headers have only STRING as the data type. Metric column headers have data types for metric values such as INTEGER, DOUBLE, CURRENCY etc.
        &quot;name&quot;: &quot;A String&quot;, # Column name.
        &quot;columnType&quot;: &quot;A String&quot;, # Column Type. Either DIMENSION or METRIC.
      },
    ],
    &quot;rows&quot;: [ # Real time data rows, where each row contains a list of dimension values followed by the metric values. The order of dimensions and metrics is same as specified in the request.
      [
        &quot;A String&quot;,
      ],
    ],
    &quot;selfLink&quot;: &quot;A String&quot;, # Link to this page.
    &quot;id&quot;: &quot;A String&quot;, # Unique ID for this data response.
    &quot;profileInfo&quot;: { # Information for the view (profile), for which the real time data was requested.
      &quot;profileName&quot;: &quot;A String&quot;, # View (Profile) name.
      &quot;profileId&quot;: &quot;A String&quot;, # View (Profile) ID.
      &quot;tableId&quot;: &quot;A String&quot;, # Table ID for view (profile).
      &quot;accountId&quot;: &quot;A String&quot;, # Account ID to which this view (profile) belongs.
      &quot;internalWebPropertyId&quot;: &quot;A String&quot;, # Internal ID for the web property to which this view (profile) belongs.
      &quot;webPropertyId&quot;: &quot;A String&quot;, # Web Property ID to which this view (profile) belongs.
    },
    &quot;totalsForAllResults&quot;: { # Total values for the requested metrics over all the results, not just the results returned in this response. The order of the metric totals is same as the metric order specified in the request.
      &quot;a_key&quot;: &quot;A String&quot;, # Key-value pair for the total value of a metric. Key is the metric name and the value is the total value for that metric.
    },
  }</pre>
</div>

</body></html>