<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="#get">get(ids, metrics, sort=None, dimensions=None, filters=None, max_results=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="get">get(ids, metrics, sort=None, dimensions=None, filters=None, max_results=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., 'rt:activeUsers'. At least one metric must be specified. (required)
  sort: string, A comma-separated list of dimensions or metrics that determine the sort order for real time data.
  dimensions: string, A comma-separated list of real time dimensions. E.g., 'rt:medium,rt:city'.
  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.

Returns:
  An object of the form:

    { # Real time data for a given view (profile).
    "kind": "analytics#realtimeData", # Resource type.
    "rows": [ # 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.
      [
        "A String",
      ],
    ],
    "totalResults": 42, # The total number of rows for the query, regardless of the number of rows in the response.
    "totalsForAllResults": { # 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.
      "a_key": "A String", # 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.
    },
    "id": "A String", # Unique ID for this data response.
    "query": { # Real time data request query parameters.
      "max-results": 42, # Maximum results per page.
      "sort": [ # List of dimensions or metrics based on which real time data is sorted.
        "A String",
      ],
      "dimensions": "A String", # List of real time dimensions.
      "ids": "A String", # Unique table ID.
      "metrics": [ # List of real time metrics.
        "A String",
      ],
      "filters": "A String", # Comma-separated list of dimension or metric filters.
    },
    "profileInfo": { # Information for the view (profile), for which the real time data was requested.
      "webPropertyId": "A String", # Web Property ID to which this view (profile) belongs.
      "internalWebPropertyId": "A String", # Internal ID for the web property to which this view (profile) belongs.
      "tableId": "A String", # Table ID for view (profile).
      "profileId": "A String", # View (Profile) ID.
      "profileName": "A String", # View (Profile) name.
      "accountId": "A String", # Account ID to which this view (profile) belongs.
    },
    "columnHeaders": [ # Column headers that list dimension names followed by the metric names. The order of dimensions and metrics is same as specified in the request.
      {
        "dataType": "A String", # 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.
        "columnType": "A String", # Column Type. Either DIMENSION or METRIC.
        "name": "A String", # Column name.
      },
    ],
    "selfLink": "A String", # Link to this page.
  }</pre>
</div>

</body></html>