主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

Read Data

使用 HTTP GET 读取通道中所有字段的数据

请求

HTTP 方法

GET

URL

https://api.thingspeak.com/channels/<channel_id>/feeds.<format>

URL 参数

名称描述

<channel_id>

(必填)感兴趣通道的通道 ID。

<format>

(必需)HTTP 响应的格式,指定为 jsonxmlcsv

示例: https://api.thingspeak.com/channels/266256/feeds.json

查询字符串参数

名称描述值类型
api_key

(私有通道必需)。为此特定通道指定读取 API 密钥。读取 API 密钥位于通道视图的 API Keys 选项卡上。

字符串

results

(可选)要检索的条目数。最大数量为 8,000。

整数

days

(可选)响应中包含的从现在开始之前的 24 小时时段数。默认值为 1。

整数

minutes(可选)响应中包含的从现在开始的 60 秒时间段的数量。默认值为 1440。

整数

start

(可选)开始日期,格式为 YYYY-MM-DD%20HH:NN:SS。

日期时间

end

(可选)结束日期,格式为 YYYY-MM-DD%20HH:NN:SS。

日期时间

timezone

(可选)来自 时区参考 的此请求的标识符。

字符串

offset

(可选)显示结果的时区偏移量。使用时区参数可获得更高的准确性。

整数

status

(可选)通过设置 "status=true" 在源中包含状态更新。

truefalse

metadata

(可选)通过设置 "metadata=true" 来包含通道的元数据。

truefalse

location

(可选)通过设置 "location=true" 在源中包含纬度、经度和海拔。

truefalse

min

(可选)响应中包含的最小值。

小数

max(可选)响应中包含的最大值。

小数

round

(可选)四舍五入到小数点后这么多位。

整数

timescale

(可选)获取这些分钟内的第一个值,有效值:10、15、20、30、60、240、720、1440、"daily"。

整数或字符串

sum

(可选)获取这些分钟的总和,有效值:10、15、20、30、60、240、720、1440、"daily"。

整数或字符串

average

(可选)获取这些分钟的平均值,有效值:10、15、20、30、60、240、720、1440、"daily"。注意:计算平均值时,NaN 值被解释为 0

整数或字符串

median

(可选)获取这些分钟的中位数,有效值:10、15、20、30、60、240、720、1440、"daily"。

integer or string

提示

results 参数具有最高优先级。将 results 与参数 minmaxtimescalesumaveragemedian 一起使用可能会导致返回少于 8000 条记录。results 参数决定查询所使用的最大条目数,最多为 8000 个。例如,考虑一个每分钟更新一次的通道。对该通道使用参数 ?results=120&sum=60 的读取请求仅返回两条记录,而不是 120 条。请参阅示例读取两小时的 JSON 格式的条目并计算平均值。

示例

您可以使用 Web 浏览器对 ThingSpeak™ 的 RESTful API 完成 GET HTTP 请求。要查看 HTTP 响应的格式,请点击链接或将其复制到您的浏览器。

读取 JSON 格式的三个条目

第 9 通道包含来自多个家庭环境传感器的信息。您可以从这个公共通道读取数据。响应的格式出现在 URL 的末尾,在任何查询字符串参数之前。在问号后追加第一个参数 ?。您可以使用 results 参数来控制返回的条目数,最多可达 8000 个。

https://api.thingspeak.com/channels/9/feeds.json?results=3

读取 JSON 格式的两小时条目并计算平均值

第 9 通道包含来自多个家庭环境传感器的信息,每分钟更新一次。您可以从这个公共通道读取数据。响应的格式出现在 URL 的末尾,在任何查询字符串参数之前。在问号后追加第一个参数 ?。您可以使用结果参数来控制返回的条目数,最多 8000 个。在此请求中,120 个结果被平均分为两个响应。

https://api.thingspeak.com/channels/9/feeds.json?results=120&average=60

读取 XML 格式的四个条目

在此示例中,格式指定为 XML。结果参数用于返回一定数量的条目,在本例中为四个。第一个参数附加在问号 ? 后面。

https://api.thingspeak.com/channels/9/feeds.xml?results=4

以 JSON 格式从私人通道读取五条条目

要从私有通道读取数据,请提供带有参数 api_key 的读取 API 密钥。在问号后追加第一个参数 ?。在与号 & 后追加第二个参数。在这种情况下,results 用于请求五个结果。

https://api.thingspeak.com/channels/9/feeds.json?api_key=E52AWRAV1RSXQQJW&results=5

以 CSV 格式读取日期范围的事件

当您以 csv 格式请求输出时,返回的文件是逗号分隔的变量格式。根据您的计算机配置,您的浏览器可以启动附加功能来显示这种格式。在此示例中,startend 参数用于指定所请求数据的日期限制。

https://api.thingspeak.com/channels/9/feeds.csv?start=2011-11-11%2010:10:10&end=2011-11-11%2011:11:11

响应

成功

HTTP 状态代码

200 OK

主体

GET https://api.thingspeak.com/channels/9/feeds.json?results=2
or GET https://api.thingspeak.com/channels/9/feeds?results=2

响应是通道源的 JSON 对象,例如:

{
"channel": {
"id": 9,
"name": "my_house",
"description": "Netduino Plus connected to sensors around the house",
"latitude": "40.44",
"longitude": "-79.9965",
"field1": "Light",
"field2": "Outside Temperature",
"created_at": "2010-12-14T01:20:06Z",
"updated_at": "2018-01-26T13:08:04Z",
"last_entry_id": 13633195
},
"feeds": [
{
"created_at": "2018-01-26T13:07:48Z",
"entry_id": 13633194,
"field1": "150",
"field2": "23.014861995753716"
},
{
"created_at": "2018-01-26T13:08:04Z",
"entry_id": 13633195,
"field1": "142",
"field2": "23.86411889596603"
}
]
}
GET https://api.thingspeak.com/channels/9/feeds.xml?results=2

响应是通道源的 XML 对象,例如:

<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.9965</longitude>
<field1>Light</field1>
<field2>Outside Temperature</field2>
<created-at type="dateTime">2010-12-14T01:20:06Z</created-at>
<updated-at type="dateTime">2018-01-26T13:17:48Z</updated-at>
<last-entry-id type="integer">13633230</last-entry-id>
<feeds type="array">
<feed>
<created-at type="dateTime">2018-01-26T13:17:33Z</created-at>
<entry-id type="integer">13633229</entry-id>
<field1>159</field1>
<field2>20.636942675159236</field2>
<id type="integer" nil="true"/>
</feed>
<feed>
<created-at type="dateTime">2018-01-26T13:17:48Z</created-at>
<entry-id type="integer">13633230</entry-id>
<field1>162</field1>
<field2>27.430997876857749</field2>
<id type="integer" nil="true"/>
</feed>
</feeds>
</channel>
GET https://api.thingspeak.com/channels/9/feeds.csv?results=2

响应是通道源的 CSV 对象,例如:

created_at,entry_id,field1,field2
2018-01-26 13:18:03 UTC,13633231,160,25.138004246284499
2018-01-26 13:18:18 UTC,13633232,152,28.02547770700637

错误

完整列表请参阅错误代码

如果您无权访问该通道,则响应为 -1。