我拥有ibm Watson帐户,并将我的Labview设备连接到IBM云。我需要提取从labivew发送的数据,以便在MIT应用程序发明器中查看数据。我能够获取位置,时间戳和其他信息(例如事件),但无法获取原始事件数据。
用于位置的网址:https://<org_id>.internetofthings.ibmcloud.com/api/v0002/device/types/<devicetype>/devices/<deviceid>/location
结果:
{
"longitude":0.0,
"latitude":0.0,
"elevation":0.0,
"accuracy":0.0,
"measuredDateTime":"2016-08-24T16:47:42.393Z",
"updatedDateTime":"2019-01-28T18:17:07+00:00"
}
类似地,如何获取通过事件发布的数据。当我尝试访问数据时,显示拒绝访问错误。我不确定如何输入我的api密钥进行身份验证和其他访问。
答案 0 :(得分:1)
我假设您正在尝试通过API访问最后一个事件缓存,而不是通过MQTT实时直播实时事件?
是这种情况,并且您收到http 403响应,那么很可能我怀疑您尚未在设置中启用最后一个事件缓存功能。默认情况下,上一个事件缓存是禁用的。
参考:https://ibm-watson-iot.github.io/iot-python/application/api/lec/
Last Event Cache是Watson IoT Platform中的一项可选功能,启用后,该功能允许缓存每个已注册设备为每个eventId发送的最后一个事件。默认情况下,此功能是禁用的,要使用此功能,必须从以下位置的仪表板启用它 https://MYORGID.internetofthings.ibmcloud.com/dashboard/settings。
启用LEC功能后,您应该可以通过以下网址通过API获取缓存的事件:
flatten
或者,如果您想要特定的事件:https://<org_id>.internetofthings.ibmcloud.com/api/v0002/device/types/<devicetype>/devices/<deviceid>/events