该API需要包含授权代码的标头。所以这就是我到目前为止

 var fullUrl = 'https://api.ecobee.com/1/thermostat?json=\{"selection":\{"includeAlerts":"true","selectionType":"registered","selectionMatch":"","includeEvents":"true","includeSettings":"true","includeRuntime":"true"\}\}' ;
var nestRequest = new XMLHttpRequest();
nestRequest.open("GET", fullUrl, true);
var temp: "AUTHORIZATION_CODE_GOES_HERE";
nestRequest.setRequestHeader("Authorization", "Bearer " + temp);


我能够使用Curl进行查询,并且我知道令牌是正确的。但是,当我尝试使用XMLHttpRequest时,出现此错误:

500:

代码:1
消息:“身份验证失败。需要令牌。”

这使我认为设置HEADER有点问题...

这是标头上的要求:


  标题:
      内容类型:application / json; charset = UTF-8
      授权:承载Rc7JE8P7XUgSCPogLOx2VLMfITqQQrjg


关于我在做什么错的任何想法吗?

最佳答案

var temp: "AUTHORIZATION_CODE_GOES_HERE";


应该是:

var temp = "AUTHORIZATION_CODE_GOES_HERE";

关于javascript - 使用XMLHttpRequest来获取Ecobee API信息。得到500(错误1:“身份验证失败。需要 token 。”),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49564223/

10-12 12:49
查看更多