无法使用Skydrive API获取文件夹的内容

Can't get Content of the folder using Skydrive API

本文关键字:文件夹 获取 API Skydrive      更新时间:2023-09-26

我在显示位于根目录内的文件夹的内容时遇到了真正的问题。它成功地确定了文件目录中的文件夹,但当我试图对其中一个文件夹做同样的事情时,它不起作用。

我将问题传递到一个wsdl .api的路径名中。然而,我可能错了。

我使用了live connect开发中心的skydrive页面的代码示例。在下面的示例中,我试图首先确定文件夹,但最终我希望获得存储在特定目录中的所有文件的名称。

 WL.api({ path: "me/skydrive/files/myfolder", method: "get" }).then(
  function (response) {
   var items = response.data;
   var outPuts = "";
   var number = items.length
    var tempos = new Array();
   var foundFolder = 0;
  for (var i = 0; i < items.length; i++) {
    if (items[i].type === "folder" || items[i].type === "album") {
    tempos[i] = items[i].name;
    foundFolder += 1;
  }
  }
     if (foundFolder == 0) {
        folderss.innerHTML = ("Unable to find any folders");
     }
    else {
      for (var i = 0; i < number; i++) {
        outPuts = outPuts + tempos[i] + "<br /> <br />"
       }
     folderss.innerHTML = outPuts;
    }
 }
 );

如果我只保留"me/skydrive/files"作为WL路径。它的工作原理。但是,如果我在它后面添加任何特定的文件夹名称,例如在我的情况下"me/skydrive/files/myfolder",则调用不返回任何内容。或者我可以声明一个路径:"me/skydrive/files/folder.567391047.34282821!"

感谢任何能帮忙的人。

我认为您的问题是由于您正在使用无效的路径格式。根据文档中的示例,列表文件的有效路径如下:/OBJECT_ID/files,其中OBJECT_ID可以替换为me/skydrive以引用skydrive根文件夹。

需要注意的重要事项是:

  1. 只能有一个对象的引用(OBJECT_ID);
  2. 这个引用只能是一个对象的ID(由API返回)或一个特殊的别名,如me/skydrive;
  3. /files应该始终是路径的最后一部分(假设我们不需要使用查询字符串)。
因此,要列出子文件夹文件夹的内容:567391047.34282821!,你应该尝试使用下面的路径格式:/folder.567391047.34282821 !/files甚至文件夹。567391047.34282821!/files(不带前导斜杠,因为它似乎是可选的)。

请让我知道这是否解决了你的问题。