我有来自Nest帐户的产品密码,产品ID和授权URL以及Thermostat添加的设备。使用授权URL我生成了8个字符的Pin代码,然后使用POST方法使用Access Token URL我得到如下响应
Service
在邮差中。阅读Nest Thermostat信息的下一步应该是什么?
请帮帮我
答案 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或实际代码接收信息,但这里有两种解释:
内容类型--->应用/ JSON
授权--->持票人c.KDYfQh2v .............
(不要忘记在实际的完全访问令牌之前添加单词" Bearer"空格。)
令牌可以是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...
}
});
祝你好运。