Javascript 使用Xml HTTP请求获取访问令牌

Javascript 使用Xml HTTP请求获取访问令牌,javascript,xmlhttprequest,access-token,Javascript,Xmlhttprequest,Access Token,我在为web应用程序从站点获取访问令牌时遇到一些问题。对以下问题的答复如下: “{”error:“无效的请求”,“错误描述”:“请求中未指定授权类型”}” 我已经在下面指定了授权类型,但似乎没有正确格式化请求 有什么建议吗 var getToken = new XMLHttpRequest(); getToken.onreadystatechange = function() { if (this.readyState == 4 && this.status =

我在为web应用程序从站点获取访问令牌时遇到一些问题。对以下问题的答复如下:

“{”error:“无效的请求”,“错误描述”:“请求中未指定授权类型”}”

我已经在下面指定了授权类型,但似乎没有正确格式化请求

有什么建议吗

  var getToken = new XMLHttpRequest(); 
  getToken.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      document.getElementById("demo").innerHTML =
      this.responseText;
    }
  };
  getToken.open("POST", "https://api2.libcal.com/1.1/oauth/token", true); 
  getToken.send('grant_type=client_credentials','client_id=XXX', 'client_secret=XXXXXXXXXXXXXXXXXXXX');

当您执行Post请求以获取访问令牌时,参数应该在正文(JSON)中发送,如下所示:(我测试过,它工作正常)


您可能希望将这些参数设置为查询参数。您是提供访问令牌的web服务的开发人员吗?如果没有,您应该询问服务提供商哪些是正确的授权类型此网站的文档说明授权类型应该是客户凭据。我可以使用第三方程序(如Postman)获取访问令牌。此响应可能为true,并正确返回令牌。但它没有解释在服务器批准请求后如何访问令牌。如果可以,请指出如何正确引用对象
getToken
,以将令牌值保存在变量中?
  // form data for the post request
  var data = {
    "grant_type":"client_credentials",
    "client_id": "XXX",
    "client_secret": "XXXXXXXXXXXXXXXXXXXX"
  };


  // construct an HTTP request
  var getToken= new XMLHttpRequest();
  getToken.open("POST", "https://api2.libcal.com/1.1/oauth/token", true);
  getToken.setRequestHeader('Content-Type', 'application/json');

  // send the collected data as JSON
  getToken.send(JSON.stringify(data));