如何阅读Nest恒温器信息

时间:2017-02-20 12:35:12

标签: nest-thermostat

我有来自Nest帐户的产品密码,产品ID和授权URL以及Thermostat添加的设备。使用授权URL我生成了8个字符的Pin代码,然后使用POST方法使用Access Token URL我得到如下响应

Service
在邮差中。阅读Nest Thermostat信息的下一步应该是什么? 请帮帮我

2 个答案:

答案 0 :(得分:0)

要获取Nest Thermostat信息一次,您需要使用以下标题和网址发出GET请求:

curl -v -L \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer c.YOUR_TOKEN_HERE" \
  -X GET "https://developer-api.nest.com/"

答案 1 :(得分:0)

对于初学者,永远不要发布您在网络上收到的任何令牌,它可能被恶意使用。这个令牌只持续三天,所以你现在好了,但下次还是这样。

最简单的方法是遵循nest labs github帐户中的示例: https://github.com/nestlabs/android-sdk

但我们可以详细介绍一下。我不确定你是否试图通过post man或实际代码接收信息,但这里有两种解释:

  1. 邮差: 向" https://developer-api.nest.com"做一个GET请求 随后有2个标题:
  2. 内容类型--->应用/ JSON

    授权--->持票人c.KDYfQh2v .............

    (不要忘记在实际的完全访问令牌之前添加单词" Bearer"空格。)

    1. in Java:
    2. 令牌可以是NestToken对象,也可以只是String:

      String token =" c.KDYfQh2vrkS0w4k4BtGcJPysmzAzb3uXNz2myCMcEko5 ....."

      然后调用此函数进行连接:

      nest.authWithToken(token, new NestListener.AuthListener() {
      @Override
      public void onAuthSuccess() {
      
          // Handle success here. Start pulling from Nest API.
      }
      
      @Override
      public void onAuthFailure(NestException e) {
      
          // Handle exceptions here.
      }
      
      @Override
      public void onAuthRevoked() {
      
          // Your previously authenticated connection has become unauthenticated.
          // Recommendation: Relaunch an auth flow with nest.launchAuthFlow().
      }
      });
      

      最后,选择您想听的内容并拨打正确的功能:

      所有恒温器:

      nest.addThermostatListener(new ThermostatListener() {
        @Override
        public void onUpdate(@NonNull ArrayList<Thermostat> thermostats) {
          // Handle thermostat update...
        }
      }
      );
      

      所有烟雾警报:

       nest.addSmokeCOAlarmListener(new SmokeCOAlarmListener() {
        @Override
        public void onUpdate(@NonNull ArrayList<SmokeCOAlarm> alarms) {
          // Handle smoke+co alarm update...
        } });
      

      所有相机:

      nest.addCameraListener(new CameraListener() {
        @Override
        public void onUpdate(@NonNull ArrayList<Camera> cameras) {
          // Handle camera update...
        }
      });
      

      或收听所有结构的更改:

      nest.addStructureListener(new StructureListener() {
        @Override
        public void onUpdate(@NonNull ArrayList<Structure> structures) {
          // Handle structure update...
        }
      });
      
      祝你好运。