【问题标题】:When I connect to firebase, I only see the structures and no devices (Nest API)当我连接到 firebase 时,我只看到结构而没有设备(Nest API)
【发布时间】:2014-07-22 23:14:03
【问题描述】:

我正在尝试使用恒温器控制示例 (https://developer.nest.com/documentation/control) 中的方法读取有关恒温器的基本信息,但是当我连接到 Firebase 时,我只看到 structure 对象(它只包含 name、@987654324快照中的@、smoke_co_alarmsstructure_idthermostats) – 没有devices 对象。我正在使用

连接到firebase
    var nestToken = $.cookie('nest_token');
    var dataRef = new Firebase('wss://developer-api.nest.com/');
    dataRef.auth(nestToken);

我尝试使用wss://developer-api.nest.com/devices 直接连接到设备,但只返回undefined 数据结构。

我也尝试使用 https://developer-api.nest.com/https://developer-api.nest.com/ 连接到 Firebase,但它们引发了授权错误并导致我的 javascript 进入无限循环发送请求。

我正在使用以下方式读取数据:

dataRef.on('value', function (snapshot) {
    var data = snapshot.val();
    structure = firstChild(data.structures);
    console.log(data);
    console.log(data.structures);
    console.log(data.devices);
    console.log(data.devices.thermostats);
    console.log(structure.thermostats);
};

最后,我在一个使用真实设备的帐户和一个使用虚拟设备的帐户上进行了尝试,所以我知道这不会导致它(即使我没想到会这样)。

任何想法我做错了什么?问题不可能出现在我的 App.js 文件中,对吗?除了身份验证之外,我还需要在用户端进行一些配置吗?我觉得这很可能是一件非常简单的事情让我眼前一亮。

【问题讨论】:

    标签: firebase q nest-api


    【解决方案1】:

    所以我想通了:这是一个权限问题。设置我的客户资料时,它只请求读取离开/回家状态的权限。因此,当我查询 Firebase 时,它​​只返回带有 structure 的快照,因为这是可以读取离开/回家状态的地方。因此,总而言之,如果您没有看到 devices 结构,即使设备与用户相关联,请检查您的客户端权限

    【讨论】:

    • 似乎记得有人在相关问题上被抓住了。这对我来说不是问题,因为我设置了完全权限,但值得了解。这也是你希望 Nest 在这里关注的事情,并快速回答(特别是因为 StackOverflow 是支持此 API 的唯一选择)。
    【解决方案2】:

    使用(部分)您的代码,我可以轻松查看设备对象:

    var dataRef = new Firebase('wss://developer-api.nest.com');
    dataRef.auth(nestTokenLive);
    dataRef.on('value', function (snapshot) {
        var data = snapshot.val();
        console.log(data);
        console.log(data.devices);
    });
    

    结果:

    > Object {devices: Object, structures: Object}
    > Object {thermostats: Object}
    

    【讨论】:

    • 感谢您让我知道代码没有错误。您使用的是哪个版本的 firebase?该示例使用 1.0.15,但我知道当前版本是 1.0.17。
    • 从头开始。我刚刚更新了我的 firebase 版本,并没有改变任何东西。
    • 有点晚了,但在回答你的问题时,我在 1.0.17 - 我只是因为 Nest API 而遇到了 Firebase,最初认为它是一个不必要的额外框架,还有一件事必须学习。但是 REST 流式传输非常棒,我现在正在考虑将我所有的家庭监控统计数据推送到 Firebase,这样我就可以将流式传输回我自己的客户。
    猜你喜欢
    • 2020-02-06
    • 1970-01-01
    • 1970-01-01
    • 2012-10-30
    • 1970-01-01
    • 1970-01-01
    • 2020-01-16
    • 2017-08-21
    • 2017-01-14
    相关资源
    最近更新 更多