Dropbox list_folder api javascript无效

时间:2017-10-13 18:38:28

标签: javascript xmlhttprequest dropbox dropbox-api

var xhr = new XMLHttpRequest();
xhr.responseType = 'String';
xhr.onreadystatechange = function() {
  if (xhr.readyState === 4 && xhr.status === 200) {
    var response = xhr.response;
    console.log(response);
  }
};
xhr.open('POST', 'https://api.dropboxapi.com/2/files/list_folder');
xhr.setRequestHeader('Authorization', 'Bearer ' + token);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.setRequestHeader('Dropbox-API-Arg', JSON.stringify({
  path: '/lol'
}));
xhr.send();

我无法弄清楚代码中出现了什么问题。任何帮助?

1 个答案:

答案 0 :(得分:0)

查看list_folder的文档 - 该端点是RPC端点:

  

这些端点在请求正文中接受参数作为JSON,并在响应正文中将结果作为JSON返回。 RPC端点位于api.dropboxapi.com域。

Dropbox-API-Arg标头似乎用于Content-uploadContent-download类型端点

我没有看到Dropbox-API-Arg端点所需的名为/files/list_folder的标头。尝试像

这样的东西
xhr.open('POST', 'https://api.dropboxapi.com/2/files/list_folder');
xhr.setRequestHeader('Authorization', 'Bearer ' + token);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.send(JSON.stringify({path:"/lol"}));