310 lines
11 KiB
Plaintext
310 lines
11 KiB
Plaintext
<div>
|
|
<%= render 'response' %>
|
|
<h2 id="get_feed">Get a Channel Feed</h2>
|
|
</div>
|
|
|
|
<br>
|
|
To view a Channel feed, send an HTTP GET to <code><%= @ssl_api_domain %>channels/<span class="customcode">CHANNEL_ID</span>/feeds<span class="format format-json">.json</span><span class="format format-xml">.xml</span></code> ,
|
|
replacing <span class="customcode">CHANNEL_ID</span> with the ID of your Channel.
|
|
|
|
<br><br>
|
|
Valid parameters:
|
|
<ul>
|
|
<li><b>api_key</b> (string) Read API Key for this specific Channel (optional--no key required for public channels)</li>
|
|
<li><b>results</b> (integer) Number of entries to retrieve, 8000 max, default of 100 (optional)</li>
|
|
<li><b>days</b> (integer) Number of 24-hour periods before now to include in feed (optional)</li>
|
|
<li><b>start</b> (datetime) Start date in format YYYY-MM-DD%20HH:NN:SS (optional)</li>
|
|
<li><b>end</b> (datetime) End date in format YYYY-MM-DD%20HH:NN:SS (optional)</li>
|
|
<li><b>timezone</b> (string) <a href="/docs#timezones">Timezone identifier</a> for this request (optional)</li>
|
|
<li><b>offset</b> (integer) Timezone offset that results should be displayed in. Please use the <a href="/docs#timezones">timezone</a> parameter for greater accuracy. (optional)</li>
|
|
<li><b>status</b> (true/false) Include status updates in feed by setting "status=true" (optional)</li>
|
|
<li><b>metadata</b> (true/false) Include Channel's metadata by setting "metadata=true" (optional)</li>
|
|
<li><b>location</b> (true/false) Include latitude, longitude, and elevation in feed by setting "location=true" (optional)</li>
|
|
<li><b>min</b> (decimal) Minimum value to include in response (optional)</li>
|
|
<li><b>max</b> (decimal) Maximum value to include in response (optional)</li>
|
|
<li><b>round</b> (integer) Round to this many decimal places (optional)</li>
|
|
<li><b>timescale</b> (integer or string) Get first value in this many minutes, valid values: 10, 15, 20, 30, 60, 240, 720, 1440, "daily" (optional)</li>
|
|
<li><b>sum</b> (integer or string) Get sum of this many minutes, valid values: 10, 15, 20, 30, 60, 240, 720, 1440, "daily" (optional)</li>
|
|
<li><b>average</b> (integer or string) Get average of this many minutes, valid values: 10, 15, 20, 30, 60, 240, 720, 1440, "daily" (optional)</li>
|
|
<li><b>median</b> (integer or string) Get median of this many minutes, valid values: 10, 15, 20, 30, 60, 240, 720, 1440, "daily" (optional)</li>
|
|
<li><b>callback</b> (string) Function name to be used for JSONP cross-domain requests (optional)</li>
|
|
</ul>
|
|
|
|
<div class="alert alert-warning">
|
|
Please note that the results parameter is not compatible with timescale, sum, average, or median.
|
|
</div>
|
|
|
|
<br>
|
|
Example GET:
|
|
|
|
<pre>GET <span class="str"><%= @ssl_api_domain %>channels/<span class="customcode">9</span>/feeds<span class="format format-json">.json</span><span class="format format-xml">.xml</span>?results=<span class="customcode">2</span></span></pre>
|
|
|
|
<br>
|
|
|
|
<div class="format format-block-xxl format-text">
|
|
The response will be an HTML page with the JSON Channel feed, for example:
|
|
|
|
<pre class="prettyprint">
|
|
{
|
|
"channel":
|
|
{
|
|
"id": 9,
|
|
"name": "my_house",
|
|
"description": "Netduino Plus connected to sensors around the house",
|
|
"latitude": "40.44",
|
|
"longitude": "-79.996",
|
|
"field1": "Light",
|
|
"field2": "Outside Temperature",
|
|
"created_at": "2010-12-13T20:20:06-05:00",
|
|
"updated_at": "2014-02-26T12:43:04-05:00",
|
|
"last_entry_id": 6060625
|
|
},
|
|
"feeds":
|
|
[
|
|
{
|
|
"created_at": "2014-02-26T12:42:49-05:00",
|
|
"entry_id": 6060624,
|
|
"field1": "188",
|
|
"field2": "25.902335456475583"
|
|
},
|
|
{
|
|
"created_at": "2014-02-26T12:43:04-05:00",
|
|
"entry_id": 6060625,
|
|
"field1": "164",
|
|
"field2": "25.222929936305732"
|
|
}
|
|
]
|
|
}
|
|
</pre>
|
|
</div>
|
|
|
|
<div class="format format-block-xxl format-json">
|
|
The response will be a JSON object of the Channel feed, for example:
|
|
|
|
<pre class="prettyprint">
|
|
{
|
|
"channel":
|
|
{
|
|
"id": 9,
|
|
"name": "my_house",
|
|
"description": "Netduino Plus connected to sensors around the house",
|
|
"latitude": "40.44",
|
|
"longitude": "-79.996",
|
|
"field1": "Light",
|
|
"field2": "Outside Temperature",
|
|
"created_at": "2010-12-13T20:20:06-05:00",
|
|
"updated_at": "2014-02-26T12:43:04-05:00",
|
|
"last_entry_id": 6060625
|
|
},
|
|
"feeds":
|
|
[
|
|
{
|
|
"created_at": "2014-02-26T12:42:49-05:00",
|
|
"entry_id": 6060624,
|
|
"field1": "188",
|
|
"field2": "25.902335456475583"
|
|
},
|
|
{
|
|
"created_at": "2014-02-26T12:43:04-05:00",
|
|
"entry_id": 6060625,
|
|
"field1": "164",
|
|
"field2": "25.222929936305732"
|
|
}
|
|
]
|
|
}
|
|
</pre>
|
|
|
|
</div>
|
|
|
|
<div class="format format-block-xxl format-xml">
|
|
The response will be an XML object of the Channel feed, for example:
|
|
|
|
<pre class="prettyprint">
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
<channel>
|
|
<id type="integer">9</id>
|
|
<name>my_house</name>
|
|
<description>Netduino Plus connected to sensors around the house</description>
|
|
<latitude type="decimal">40.44</latitude>
|
|
<longitude type="decimal">-79.996</longitude>
|
|
<field1>Light</field1>
|
|
<field2>Outside Temperature</field2>
|
|
<created-at type="dateTime">2010-12-13T20:20:06-05:00</created-at>
|
|
<updated-at type="dateTime">2014-02-26T12:49:19-05:00</updated-at>
|
|
<last-entry-id type="integer">6060650</last-entry-id>
|
|
<feeds type="array">
|
|
<feed>
|
|
<created-at type="dateTime">2014-02-26T12:49:04-05:00</created-at>
|
|
<entry-id type="integer">6060649</entry-id>
|
|
<field1>160</field1>
|
|
<field2>25.307855626326962</field2>
|
|
<id type="integer" nil="true"/>
|
|
</feed>
|
|
<feed>
|
|
<created-at type="dateTime">2014-02-26T12:49:19-05:00</created-at>
|
|
<entry-id type="integer">6060650</entry-id>
|
|
<field1>171</field1>
|
|
<field2>22.929936305732483</field2>
|
|
<id type="integer" nil="true"/>
|
|
</feed>
|
|
</feeds>
|
|
</channel>
|
|
</pre>
|
|
|
|
</div>
|
|
|
|
<br>
|
|
|
|
Live examples:
|
|
<ul>
|
|
<li><a href="http://api.thingspeak.com/channels/9/feeds.json?results=10">http://api.thingspeak.com/channels/9/feeds.json?results=10</a></li>
|
|
<li><a href="http://api.thingspeak.com/channels/9/feeds.json?results=100&median=10">http://api.thingspeak.com/channels/9/feeds.json?results=100&median=10</a></li>
|
|
<li><a href="http://api.thingspeak.com/channels/9/feeds.json?start=2011-11-11%2010:10:10&end=2011-11-11%2011:11:11">http://api.thingspeak.com/channels/9/feeds.json?start=2011-11-11%2010:10:10&end=2011-11-11%2011:11:11</a></li>
|
|
</ul>
|
|
|
|
|
|
<br><br>
|
|
|
|
<div>
|
|
<%= render 'response' %>
|
|
<h2>Get Last Entry in a Channel Feed</h2>
|
|
</div>
|
|
|
|
<br>
|
|
To get the last entry in a Channel feed, send an HTTP GET to <code><%= @ssl_api_domain %>channels/<span class="customcode">CHANNEL_ID</span>/feeds/last<span class="format format-json">.json</span><span class="format format-xml">.xml</span></code> ,
|
|
replacing <span class="customcode">CHANNEL_ID</span> with the ID of your Channel.
|
|
|
|
<br><br>
|
|
Valid parameters:
|
|
<ul>
|
|
<li><b>api_key</b> (string) Read API Key for this specific Channel (optional--no key required for public channels)</li>
|
|
<li><b>timezone</b> (string) <a href="/docs#timezones">Timezone identifier</a> for this request (optional)</li>
|
|
<li><b>offset</b> (integer) Timezone offset that results should be displayed in. Please use the <a href="/docs#timezones">timezone</a> parameter for greater accuracy. (optional)</li>
|
|
<li><b>status</b> (true/false) Include status updates in feed by setting "status=true" (optional)</li>
|
|
<li><b>location</b> (true/false) Include latitude, longitude, and elevation in feed by setting "location=true" (optional)</li>
|
|
<li><b>callback</b> (string) Function name to be used for JSONP cross-domain requests (optional)</li>
|
|
</ul>
|
|
|
|
<br>
|
|
Example GET:
|
|
|
|
<pre>GET <span class="str"><%= @ssl_api_domain %>channels/<span class="customcode">9</span>/feeds/last<span class="format format-json">.json</span><span class="format format-xml">.xml</span></span></pre>
|
|
|
|
<br>
|
|
|
|
<div class="format format-block format-text">
|
|
The response will be a JSON object of the most recent feed, for example:
|
|
|
|
<pre class="prettyprint">
|
|
{
|
|
"created_at": "2014-02-26T21:27:21Z",
|
|
"entry_id": 6061519,
|
|
"field1": "176",
|
|
"field2": "28.195329087048833"
|
|
}
|
|
</pre>
|
|
</div>
|
|
|
|
<div class="format format-block format-json">
|
|
The response will be a JSON object of the most recent feed, for example:
|
|
|
|
<pre class="prettyprint">
|
|
{
|
|
"created_at": "2014-02-26T21:27:21Z",
|
|
"entry_id": 6061519,
|
|
"field1": "176",
|
|
"field2": "28.195329087048833"
|
|
}
|
|
</pre>
|
|
|
|
</div>
|
|
|
|
<div class="format format-block format-xml">
|
|
The response will be an XML object of the most recent feed, for example:
|
|
|
|
<pre class="prettyprint">
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
<feed>
|
|
<created-at type="dateTime">2014-02-26T21:28:51Z</created-at>
|
|
<entry-id type="integer">6061525</entry-id>
|
|
<field1>200</field1>
|
|
<field2>28.365180467091296</field2>
|
|
<id type="integer" nil="true"/>
|
|
</feed>
|
|
</pre>
|
|
|
|
</div>
|
|
|
|
|
|
<br><br>
|
|
|
|
<div>
|
|
<%= render 'response' %>
|
|
<h2>Get Specific Entry in a Channel</h2>
|
|
</div>
|
|
|
|
<br>
|
|
To get a specific entry in a Channel's feed, send an HTTP GET to <code><%= @ssl_api_domain %>channels/<span class="customcode">CHANNEL_ID</span>/feeds/<span class="customcode">ENTRY_ID</span><span class="format format-json">.json</span><span class="format format-xml">.xml</span></code> ,
|
|
replacing <span class="customcode">CHANNEL_ID</span> with the ID of your Channel and <span class="customcode">ENTRY_ID</span> with the ID of your entry.
|
|
|
|
<br><br>
|
|
Valid parameters:
|
|
<ul>
|
|
<li><b>api_key</b> (string) Read API Key for this specific Channel (optional--no key required for public channels)</li>
|
|
<li><b>timezone</b> (string) <a href="/docs#timezones">Timezone identifier</a> for this request (optional)</li>
|
|
<li><b>offset</b> (integer) Timezone offset that results should be displayed in. Please use the <a href="/docs#timezones">timezone</a> parameter for greater accuracy. (optional)</li>
|
|
<li><b>status</b> (true/false) Include status updates in feed by setting "status=true" (optional)</li>
|
|
<li><b>location</b> (true/false) Include latitude, longitude, and elevation in feed by setting "location=true" (optional)</li>
|
|
<li><b>callback</b> (string) Function name to be used for JSONP cross-domain requests (optional)</li>
|
|
</ul>
|
|
|
|
<br>
|
|
Example GET:
|
|
|
|
<pre>GET <span class="str"><%= @ssl_api_domain %>channels/<span class="customcode">9</span>/feeds/<span class="customcode">6061519</span><span class="format format-json">.json</span><span class="format format-xml">.xml</span></span></pre>
|
|
|
|
<br>
|
|
|
|
<div class="format format-block format-text">
|
|
The response will be a JSON object of the feed entry, for example:
|
|
|
|
<pre class="prettyprint">
|
|
{
|
|
"created_at": "2014-02-26T21:27:21Z",
|
|
"entry_id": 6061519,
|
|
"field1": "176",
|
|
"field2": "28.195329087048833"
|
|
}
|
|
</div>
|
|
|
|
<div class="format format-block format-json">
|
|
The response will be a JSON object of the feed entry, for example:
|
|
|
|
<pre class="prettyprint">
|
|
{
|
|
"created_at": "2014-02-26T21:27:21Z",
|
|
"entry_id": 6061519,
|
|
"field1": "176",
|
|
"field2": "28.195329087048833"
|
|
}
|
|
</pre>
|
|
|
|
</div>
|
|
|
|
<div class="format format-block format-xml">
|
|
The response will be an XML object of the most recent feed, for example:
|
|
|
|
<pre class="prettyprint">
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
<feed>
|
|
<created-at type="dateTime">2014-02-26T21:27:21Z</created-at>
|
|
<entry-id type="integer">6061519</entry-id>
|
|
<field1>176</field1>
|
|
<field2>28.195329087048833</field2>
|
|
<id type="integer" nil="true"/>
|
|
</feed>
|
|
</pre>
|
|
|
|
</div>
|
|
|