为什么Xively开发人员门户网站显示设备是私有的,而实际上它是公开的?

时间:2014-10-06 10:03:37

标签: xively

我已经在我的Xively帐户中创建了许多设备,并始终选择"私人访问"在创建向导中。我最近注意到其中一些设备是公共可访问的,即使Xively门户网站告诉我它们是私有的。如果我使用门户网站将访问权限更改为公共访问权限并再次返回私有访问权限,则它们将不再可公开访问。当门户网站说它们是私有的时,有谁知道为什么有些设备是公开的?

1 个答案:

答案 0 :(得分:0)

我现在找到了这个原因。实际上有两个问题导致了我认为非常讨厌的数据隐私问题。

首先,Xively门户网站不能准确反映Feed的当前可访问性状态(公共或私有);它显示在创建设备或随后通过门户网站修改时选择的状态,但是如果应用程序通过API更改状态,则此更改永远不会反映在门户网站UI中。如果您的应用程序意外地将状态从私有更改为公共,则无论何时查看,门户网站都将继续显示“私有”。

其次,Xively Java库中存在一个错误,当您使用库更新设备时(例如提交读数),该错误会将设备的状态更改为公共状态。无论您是否指定属性,FeedRequester类的update()方法都会提交Feed的每个属性。在大多数情况下,这并不重要,因为该方法为服务器(可能)忽略的未指定属性发送null值。一个例外是“私有”属性 - 在这种情况下,如果您的应用程序未指定值,则库将发送值false,而不是null,可能是因为该属性作为Java基元类型存储在Java库中(布尔值) )而不是一个对象。实际效果是,如果您在未明确将private设置为true的情况下调用此方法,则设备的状态将从私有状态更改为公用状态,而不会意识到这一点。