Работа с файлами в Microsoft Graph
С помощью Microsoft Graph можно создать приложение, которое подключается к файлам в OneDrive, OneDrive для бизнеса и библиотеках документов SharePoint. Используя Microsoft Graph, вы можете создавать различные решения для работы с файлами в Microsoft 365. Возможны варианты как для простого хранения документов пользователей, так и сложные сценарии совместного использования файлов.
В Microsoft Graph доступны два типа ресурсов для работы с файлами:
- Drive. Представляет логический контейнер для файлов, например библиотеку документов или пользовательское хранилище OneDrive.
- DriveItem. Представляет элемент на диске, например документ, фотографию, видео или папку.
Большинство операций с файлами выполняется путем взаимодействия с ресурсами DriveItem. Ниже представлен пример ресурса DriveItem.
{
"@content.downloadUrl":"https://public-sn3302.files.1drv.com/y2pcT7OaUEExF7EHOlpTjCE55mIUoiX7H3sx1ff6I-nP35XUTBqZlnkh9FJhWb_pf9sZ7LEpEchvDznIbQig0hWBeidpwFkOqSKCwQylisarN6T0ecAeMvantizBUzM2PA1",
"createdDateTime": "2016-09-16T03:37:04.72Z",
"cTag": "aYzpENDY0OEYwNkM5MUQ5RDNEITU0OTI3LjI1Ng",
"eTag": "aRDQ2NDhGMDZDOTFEOUQzRCE1NDkyNy4w",
"id":"D4648F06C91D9D3D!54927",
"lastModifiedBy": {
"user": {
"displayName": "Daron Spektor",
"id": "d4648f06c91d9d3d"
}
},
"name":"BritishShorthair.jpg",
"size":35212,
"image":{
"height":398,
"width":273
},
"file": {
"hashes":{
"sha1Hash":"wmgPQ6jrSeMX7JP1XmstQEGM2fc="
}
}
}
В ресурсах Drive и DriveItem данные доступны в трех вариантах.
- Как свойства (например, id и name), которые представляют простые значения (строки, числа, логические значения).
- Аспекты (например , файл и изображение) предоставляют сложные значения. Наличие аспекта file или folder указывает поведение и свойства ресурса DriveItem.
- Как ссылки (например, children и thumbnails), которые указывают на коллекции других ресурсов.
Часто используемые ресурсы
В большинстве запросов API для работы с файлами используется один из указанных ниже базовых ресурсов, позволяющих получить доступ к ресурсу Drive или DriveItem.
Путь | Ресурс |
---|---|
/me/drive |
Хранилище OneDrive пользователя |
/me/drives |
Перечисление ресурсов OneDrive, доступных пользователю. |
/drives/{drive-id} |
Доступ к определенному ресурсу Drive по идентификатору диска. |
/drives/{drive-id}/root/children |
Перечисление ресурсов DriveItem в корне определенного ресурса Drive. |
/me/drive/items/{item-id} |
Доступ к ресурсу DriveItem в пользовательском хранилище OneDrive по его уникальному идентификатору. |
/me/drive/special/{special-id} |
Доступ к специальной (именованной) папке в пользовательском хранилище OneDrive по ее известному имени. |
/users/{user-id}/drive |
Доступ к хранилищу OneDrive другого пользователя по уникальному идентификатору этого пользователя. |
/groups/{group-id}/drive |
Доступ к стандартной библиотеке документов группы по уникальному идентификатору этой группы. |
/shares/{share-id} |
Доступ к ресурсу DriveItem по свойству sharedId или URL-адресу для совместного доступа. |
/sites/{site-id}/drive |
Доступ к диску по умолчанию (библиотеке документов) для данного сайтаSharePoint |
/sites/{site-id}/drives |
Перечисление дисков (библиотек документов) на заданном сайтеSharePoint |
Помимо обращения к Объекту DriveItem на диске по уникальному идентификатору, приложение также может обращаться к Объекту DriveItem по относительному пути из известного ресурса.
Для обращения с помощью пути используется символ двоеточия (:
) для экранирования относительного пути.
В этой таблице приведены примеры различных способов использования символа двоеточия для обращения к элементу по пути.
Path | Ресурс |
---|---|
/me/drive/root:/path/to/file |
Доступ к ресурсу DriveItem по относительному пути для корневой папки OneDrive пользователя. |
/me/drive/items/{item-id}:/path/to/file |
Доступ к ресурсу DriveItem по относительному пути для другого элемента (экземпляра DriveItem с аспектом folder). |
/me/drive/root:/path/to/folder:/children |
Получение списка дочерних экземпляров ресурса DriveItem по относительному пути для корневого каталога OneDrive пользователя. |
/me/drive/items/{item-id}:/path/to/folder:/children |
Получение списка дочерних экземпляров ресурса DriveItem по относительному пути для другого элемента. |
Дополнительные сведения см. в разделе об адресации driveItems.
Ресурс Drive
Ресурс Drive — это объект верхнего уровня в хранилище OneDrive или библиотеке документов SharePoint пользователя. Почти все операции с файлами начинаются с обращения к определенному ресурсу диска.
К ресурсу диска можно обратиться по уникальному идентификатору диска или с помощью диска по умолчанию для User, Group или организации.
Ресурс DriveItem
Ресурсы DriveItem — это объекты в файловой системе диска.
К ним можно обращаться по свойству id с использованием синтаксиса /items/{item-id}
или по пути в файловой системе с использованием синтаксиса /root:/path/to/item/
.
У ресурсов DriveItem есть аспекты, предоставляющие данные об особенностях и возможностях элемента.
Ресурсы DriveItem с аспектом folder действуют как контейнеры элементов и содержат ссылку children, указывающую на коллекцию элементов в папке.
Общие папки и удаленные элементы
Пользователь, у которого есть личная (не рабочая или учебная) учетная запись OneDrive, может добавить один или несколько общих элементов с другого диска в свое хранилище OneDrive. Эти общие элементы отображаются в коллекции children как экземпляры DriveItem с аспектом remoteItem.
Дополнительные сведения о работе с общими папками и удаленными элементами см. в статье, посвященной общим папкам и удаленным элементам.
Совместный доступ и разрешения
Одно из самых распространенных действий для OneDrive и библиотек документов SharePoint — предоставление общего доступа к содержимому. С помощью Microsoft Graph ваше приложение может создавать ссылки для совместного доступа, добавлять разрешения и отправлять приглашения для совместного доступа к элементам на диске.
Кроме того, с помощью Microsoft Graph ваше приложение может получать доступ к общему содержимому непосредственно по ссылке для совместного доступа.