如何使用c#Rest API从OneDrive Business获取所有文件的列表?

时间:2016-06-10 12:00:35

标签: c# onedrive office365-restapi

我希望OneDrive Business上的所有文件都可用。  I am referring OneDrive v2 api.. 我想在我的应用程序中显示这个文件列表。 还有什么方法可以按类型过滤文件,如照片,视频,文档?

1 个答案:

答案 0 :(得分:0)

OneDrive REST不返回集合的后代,我们需要迭代每个文件夹以显示文件夹的子节点。您可以参考here列出一个项目的子项。

  
    

还有什么方法可以按类型过滤文件,比如照片,视频,文档?

  

是。项目具有提供有关项目标识和功能的数据的方面。文件夹具有文件夹构面,文件具有文件构面。除了文件构面之外,图像还具有图像构面。因此,我们可以使用这些方面来限制我们想要的文件类型。

例如,下面是仅针对具有文件图片构面的项目过滤搜索结果的示例。

请求:

GET /drive/root/view.search?q=vacation&filter=image%20ne%20null%20and%20file%20ne%20null

<强>响应:

HTTP/1.1 200 OK
Content-type: application/json
Content-length: length

{
    "value": [
      {
        "id": "0123456789abc!123",
        "name": "Vacation.jpg",
        "image": { },
        "file": { },
        "searchResult":
        {
          "onClickTelemetryUrl": "https://bing.com/0123456789abc!123"
        }
      },
      {
        "id": "0123456789abc!456",
        "name": "Summer.jpg",
        "image": { },
        "file": { },
        "searchResult":
        {
          "onClickTelemetryUrl": "https://bing.com/0123456789abc!456"
        }
      }
    ],
    "@search.approximateCount": 12,
    "@odata.nextLink": "https://api.onedrive.com/drive/root/view.search?query=vacation&skipToken=1asdlnjnkj1nalkm!asd"
}