Если вы не знаете идентификатор или путь для DriveItem
, вам нужно начать с root из Drive
и перемещаться по структуре папок, пока не найдете нужные вам файлы. находясь в поиске.
Ваш первый звонок будет /users/{id|userPrincipalName}/drive/root/children?$select=id,name,folder,file
. Это выведет список детей id
, name
, а также данные folder
или file
(в зависимости от типа элемента) из папки root
:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('id')/drive/root/children(id,name,folder,file)",
"value": [
{
"@odata.etag": "\"{etag},1\"",
"id": "folderId",
"name": "My Folder",
"folder": {
"childCount": 10
}
},
{
"@odata.etag": "\"{etag},1\"",
"id": "fileId",
"name": "filename.ext",
"file": {
"mimeType": "type",
"hashes": {
"quickXorHash": "hash"
}
}
}
]
}
Затем вы выполняете один и тот же вызов для каждой из папок, чтобы получить их дочерние элементы, повторяя шаблон, пока не найдете нужный файл:
/users/{id|userPrincipalName}/drive/items/{folderId}/children?$select=id,name,folder,file`
В качестве альтернативы, вы можете просто поиск файла с использованием /users/{id|userPrincipalName}/drive/root/search(q='{search-text}')
.