<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, dimensions=None, filters=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, dimensions=None, filters=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)
  dimensions: string, A comma-separated list of real time dimensions. E.g., &#x27;rt:medium,rt:city&#x27;.
  filters: string, A comma-separated list of dimension or metric filters to be applied to real time data.
  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;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;columnType&quot;: &quot;A String&quot;, # Column Type. Either DIMENSION or METRIC.
      &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;id&quot;: &quot;A String&quot;, # Unique ID for this data response.
  &quot;kind&quot;: &quot;analytics#realtimeData&quot;, # Resource type.
  &quot;profileInfo&quot;: { # Information for the view (profile), for which the real time data was requested.
    &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;profileId&quot;: &quot;A String&quot;, # View (Profile) ID.
    &quot;profileName&quot;: &quot;A String&quot;, # View (Profile) name.
    &quot;tableId&quot;: &quot;A String&quot;, # Table ID for view (profile).
    &quot;webPropertyId&quot;: &quot;A String&quot;, # Web Property ID to which this view (profile) belongs.
  },
  &quot;query&quot;: { # Real time data request query parameters.
    &quot;dimensions&quot;: &quot;A String&quot;, # List of real time dimensions.
    &quot;filters&quot;: &quot;A String&quot;, # Comma-separated list of dimension or metric filters.
    &quot;ids&quot;: &quot;A String&quot;, # Unique table ID.
    &quot;max-results&quot;: 42, # Maximum results per page.
    &quot;metrics&quot;: [ # List of real time metrics.
      &quot;A String&quot;,
    ],
    &quot;sort&quot;: [ # List of dimensions or metrics based on which real time data is sorted.
      &quot;A String&quot;,
    ],
  },
  &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;totalResults&quot;: 42, # The total number of rows for the query, regardless of the number of rows in the response.
  &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>