我是Xively的新手。现在我正在尝试从我得到的Feed中访问数据点历史记录。 从这个文档:http://xively.github.io/xively-js/docs/似乎我可以使用方法xively.datapoint.history(feedID,datastreamID,options {},callback(data)),但我不知道如何使用它。
我知道参数feedID,datastreamID,但我不确定选项... 来自Xively网站https://xively.com/dev/docs/api/quick_reference/historical_data/,我想我应该把开始和结束参数。我使用了feed id:40053和datastream id:airpressure。您可以尝试在此输入Feed ID以获取有关它的更多信息:http://xively.github.io/xively-js/demo/
我尝试了下面的代码,但它不起作用。我做错了什么,或者数据点历史本身是否受限制且无法访问?
// Make sure the document is ready to be handled
$(document).ready(function($) {
// Set the Xively API key (https://xively.com/users/YOUR_USERNAME/keys)
xively.setKey("yWYxyi3HpdqFCBtKHueTvOGoGROSAKxGRFAyQWk5d3JNdz0g" );
// Replace with your own values
var feedID = 40053;
var datastreamID = "airpressure"; // Datastream ID
// Get datastream data from Xively
xively.datapoint.history(feedID, datastreamID,
{
start:"2013-09-10T00:00:00.703576Z",
end:"2013-10-10T00:00:00.703576Z"
},
function(data){
//data.forEach(function(datapoints){document.write(JSON.stringify(datapoints["value"], null, 4));});
document.write(JSON.stringify(data, null, 4));
});
});
答案 0 :(得分:1)
我没有正确阅读文档...... 每个查询的最长持续时间为6小时,因此将结束时间更改为“2013-09-10T06:00:00.703576Z解决了我的问题。
答案 1 :(得分:1)
您可以使用参数:duration
,interval
xively.datapoint.history (feedID, datastreamID1, **{ duration: "14days", interval: "1000"}**,
function(data){
document.write(JSON.stringify(data, null, 4));
}
);
答案 2 :(得分:0)
Alvinadi, 那是对的。您可以做的另一件事是将interval参数设置为大于0的值。这将降低数据点的密度,并且仅在间隔中指定的每个秒数返回一个数据点。但是,这在尝试检索大量数据的平均值时非常有用。
以下是解释可用时间间隔的API文档:https://xively.com/dev/docs/api/quick_reference/historical_data/
专业提示:设置参数limit=1000
以返回最大结果数,而不必对数据进行分页。