主要内容

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

Read Field

使用 HTTP GET 从通道的单个字段读取数据

请求

HTTP 方法

GET

URL

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

URL 参数

名称描述

<channel_id>

(必需)感兴趣通道的通道 ID,指定为整数。

<field_id>

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

<format>

(必需)HTTP 响应的格式,指定为 json、xml 或 csv。

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

查询字符串参数

名称描述值类型
api_key

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

字符串

results

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

整数

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" 在源中包含状态更新。

true 或 false

metadata

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

true 或 false

location

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

true 或 false

min

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

true 或 false

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"。

整数或 string

提示

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

示例

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

以 JSON 格式读取 10 个结果

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

https://api.thingspeak.com/channels/9/fields/1.json?results=10

每 10 分钟读取 100 个结果的中位数(XML 格式)

在此示例中,格式指定为 XML。结果参数用于返回指定数量的条目,在本例中为 10。

https://api.thingspeak.com/channels/9/fields/2.xml?results=100&median=10

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

当您以 csv 格式请求输出时,返回的文件是逗号分隔的变量格式。根据您的计算机配置,您的浏览器可以打开其他软件来显示此格式。使用与号 & 追加第二个参数。在此示例中,start 和 end 参数用于指定所请求数据的日期限制。

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

以文本格式阅读一天的结果

https://api.thingspeak.com/channels/9/fields/1?api_key=E52AWRAV1RSXQQJW

当未指定其他参数时,ThingSpeak 返回最后一天的数据,最多 8000 个点。

响应

成功

HTTP 状态代码

200 OK

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

主体
GET https://api.thingspeak.com/channels/9/fields/1.json?results=2
or
GET https://api.thingspeak.com/channels/9/fields/1?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:35:04Z",
"last_entry_id": 13633291
},
"feeds": [
{
"created_at": "2018-01-26T13:34:48Z",
"entry_id": 13633290,
"field1": "160"
},
{
"created_at": "2018-01-26T13:35:04Z",
"entry_id": 13633291,
"field1": "167"
}
]
}
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:35:04Z</updated-at>
<last-entry-id type="integer">13633291</last-entry-id>
<feeds type="array">
<feed>
<created-at type="dateTime">2018-01-26T13:34:48Z</created-at>
<entry-id type="integer">13633290</entry-id>
<field1>160</field1>
<id type="integer" nil="true"/>
</feed>
<feed>
<created-at type="dateTime">2018-01-26T13:35:04Z</created-at>
<entry-id type="integer">13633291</entry-id>
<field1>167</field1>
<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
2018-01-26 13:36:03 UTC,13633294,159
2018-01-26 13:36:19 UTC,13633295,177

错误

完整列表请参阅错误代码。

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