我在为用户的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个不同的结果并得到答复将不胜感激
感谢。
答案 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.All
或Files.ReadWrite.All
。这样做,您的请求将不再返回空数组。