【发布时间】:2016-06-13 14:38:04
【问题描述】:
我想要 OneDrive Business 上的所有文件。 I am referring OneDrive v2 api.. 我想在我的应用程序中显示这个文件列表。 还有什么方法可以按照片、视频、文档等类型过滤文件吗?
【问题讨论】:
标签: c# onedrive office365-restapi
我想要 OneDrive Business 上的所有文件。 I am referring OneDrive v2 api.. 我想在我的应用程序中显示这个文件列表。 还有什么方法可以按照片、视频、文档等类型过滤文件吗?
【问题讨论】:
标签: c# onedrive office365-restapi
OneDrive REST 不返回集合的后代,我们需要迭代每个文件夹以显示文件夹的子项。您可以参考here 列出一项的子项。
还有什么方法可以按照片、视频、文档等类型过滤文件吗?
是的。项目具有提供有关项目身份和功能的数据的 Facet。文件夹具有文件夹构面,文件具有文件构面。除了文件方面,图像还有一个图像方面。所以我们可以使用这些方面来限制我们想要的文件类型。
例如,下面是仅针对具有 file 和 image facet 的项目过滤搜索结果的示例。
请求:
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"
}
【讨论】: