首先,切勿在网络上发布您收到的任何令牌,它可能会被恶意使用。那个令牌只持续三天,所以你现在很好,但下次。
最简单的方法是按照 Nest Labs github 帐户中的示例进行操作:
https ://github.com/nestlabs/android-sdk
但是我们可以稍微详细一点。我不确定您是否尝试通过邮递员或实际代码接收信息,但这里有两种解释:
- 邮递员:向“ https://developer-api.nest.com ”发出 GET 请求,带有 2 个标头,如下所示:
内容类型 ---> 应用程序/json
授权--->承载c.KDYfQh2v.............
(不要忘记在实际的完全访问令牌之前添加单词“Bearer”和空格。)
- 在 Java 中:
令牌可以是 NestToken 对象或只是一个字符串:
字符串标记 = "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...
}
});
祝你好运。