List children API不提供驱动器/文件夹的所有子项

时间:2017-10-11 11:36:56

标签: rest microsoft-graph onedrive children

我在为用户的OneDrive获取文件/文件夹时遇到以下问题。

点击

https://graph.microsoft.com/v1.0/users/ {用户ID} /驱动

我在回复中得到了这个:

"quota": { "deleted": 0, "remaining": 0, "total": 0, "used": 0 }

表示驱动器未被使用或为空。

击中 https://graph.microsoft.com/v1.0/users/{user-id}/drive/root 我收到了回复 -

"folder": {
    "childCount": 21
},
"root": {},
"size": 281236319

这里,它表示驱动器的根文件夹中有21个文件/文件夹,它们占用了281.23 MB的空间。

现在,点击https://graph.microsoft.com/v1.0/users/{user-id}/drive/root/children 我在响应中得到空矢量 -

{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('user-id')/drive/root/children",
"value": []

}

驱动器中存在文件。但我无法通过子API获取它们。 任何帮助理解这3个不同的结果并得到答复将不胜感激

感谢。

3 个答案:

答案 0 :(得分:0)

用户通过身份验证后,代表该用户检索访问令牌。您只需调用此端点:

https://graph.microsoft.com/v1.0/me/drive/root/children

您可能还想查看该用户OneDrive上的文件夹:

https://graph.microsoft.com/v1.0/me/drive/root:{/Folder-Path}:/children

您的网址也是正确的,应该像我刚刚使用我的'用户ID'并且能够检索我的onedrive中的文件。

https://graph.microsoft.com/v1.0/users/{user-id}/drive/root/children

参考文献:

https://stackoverflow.com/a/46614072/6559330 https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/driveitem_list_children

答案 1 :(得分:0)

此问题是由使用错误的网址调用引起的。文档不是很清楚,而是URL:

https://graph.microsoft.com/v1.0/me/drive

如果' Drive'实际上是共享点实例的一部分。虽然用户界面表示" Drive"以用户身份登录时,URL包含对共享点的引用。

正确使用的网址实际上是:

https:// {tenant} -my.sharepoint.com/_api/v2.0/drives/ {drive id} / root /

答案 2 :(得分:0)

您必须使用范围Files.Read.AllFiles.ReadWrite.All。这样做,您的请求将不再返回空数组。