Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применяется к: Для разработчиков
Используйте API файлов Microsoft Graph и DriveItem для управления файлами внутри контейнеров SharePoint Embedded.
Сначала создайте контейнеры и управляйте ими, чтобы у вас был идентификатор контейнера.
SharePoint Embedded предоставляет вашему приложению хранилище документов только для API со встроенными возможностями Microsoft 365. Управление файлами осуществляется полностью программно с помощью Microsoft Graph без пользовательского интерфейса SharePoint. Полный жизненный цикл включает отправку и скачивание, папки, управление версиями, корзину и 93-дневное восстановление содержимого. Контент доступен для поиска через API поиска (Майкрософт) и наследует соответствие клиента требованиям Microsoft Purview. Конечным пользователям вашего приложения не нужна лицензия Microsoft 365 для выполнения основных операций с файлами.
Общие сведения о хранилище файлов
Контейнер SharePoint Embedded — это граница хранилища для содержимого приложения.
Каждый контейнер предоставляет содержимое файла через хранилище файлов Microsoft Graph и API-интерфейсы DriveItem.
Используйте модель данных приложения, чтобы определить, какой бизнес-объект владеет каждым контейнером, какие папки создает приложение, какие пользователи или службы могут читать и записывать и какие идентификаторы файлов хранит приложение.
Сведения об архитектуре см. в статье Архитектура приложения SharePoint Embedded.
Использование API хранилища файлов Microsoft Graph
Начните с этих ссылок на Microsoft Graph:
Важно!
Используйте документированные API Microsoft Graph, DriveItem и файлового хранилища. Не изобретайте имена API файлов, специфичные для SharePoint Embedded.
Предварительные условия
Перед началом работы с файлами убедитесь, что:
- Ваше приложение может получать маркеры Microsoft Graph.
- У приложения есть
FileStorageContainer.Selectedсогласие. - У приложения есть разрешения типа контейнера для предполагаемых операций.
- Целевой контейнер существует.
- Для делегированных звонков пользователь является участником контейнера.
- Приложение сохраняет нужный идентификатор контейнера и идентификаторы DriveItem.
Сопоставление идентификаторов контейнеров с дисками
API DriveItem Microsoft Graph используют driveId. Для SharePoint Embedded идентификатор диска — это идентификатор контейнера, начинающийся с b!.
В приложении:
- Сохранить идентификатор контейнера, возвращенный при его создании.
- Используйте идентификатор контейнера при вызове API DriveItem, которым требуется идентификатор диска.
- Идентификаторы элементов хранения, возвращенные операциями отправки или создания папок.
- Избегайте восстановления идентификаторов из URL-адресов.
Отправка файлов
Используйте шаблоны отправки Microsoft Graph для DriveItems.
Для небольших файлов (до 250 МБ) используйте простой API отправки, задокументированный для DriveItems, с одним PUT для содержимого элемента.
Для больших файлов (более 250 МБ) используйте сеанс отправки, как описано в Microsoft Graph, и отправляйте файл байтовыми блоками (например, кратными 320 КБ) до завершения отправки.
В потоке отправки:
- Проверка доступа на запись.
- Выберите целевую папку в контейнере.
- Сначала создайте папки, если пути не существует.
- Загрузите байты файла с помощью соответствующего метода Graph.
- Сохраните возвращенный идентификатор DriveItem.
- Отображение имени, размера и состояния файла.
Совет
Храните метаданные бизнеса в базе данных приложения, а содержимое файлов — в SharePoint Embedded.
Скачать файлы
Используйте возможности скачивания Microsoft Graph DriveItem для содержимого файлов.
В процессе скачивания:
- Проверка доступа на чтение.
- Сопоставьте идентификатор контейнера и идентификатор DriveItem.
- Запросите содержимое файла или URL-адрес загрузки с помощью API DriveItem.
- Stream содержимое пользователю или службе.
- Обработка истечения срока действия для краткосрочных URL-адресов загрузки.
- Ведение журнала в соответствии с требованиями аудита.
Создание папок
Используйте API создания папок DriveItem для упорядочения содержимого.
Создавайте папки для предсказуемой структуры содержимого, этапов рабочего процесса, связанных отправок и стабильных родительских элементов для URL-адресов запуска Office.
При создании папок:
- Проверьте, существует ли папка.
- Создайте только отсутствующий сегмент пути.
- При необходимости сохраните идентификатор элемента диска папки.
- Последовательно применяйте правила именования.
Обновление содержимого файла
Использование Microsoft Graph DriveItem для обновления или отправки шаблонов сеансов для замены содержимого.
Перед заменой содержимого:
- Подтвердите разрешение на запись.
- Чтение текущих метаданных, если требуются проверки параллелизма.
- Сохраните идентификатор DriveItem там, где это поддерживается.
- Обновите метаданные приложения после успешной работы Graph.
В файлах Office, хранящихся в SharePoint Embedded автоматически включено управление версиями для Word, Excel и PowerPoint.
Инструкции по работе в Office см. в статье "Открытие файлов Office" в приложении .
Переименование и перемещение элементов
Используйте документированное обновление DriveItem и перемещайте операции там, где это поддерживается.
Чтение текущего элемента DriveItem, подтверждение конечной папки, применение операции, обновление сохраненного пути или отображаемого имени и, по возможности, сохранение идентификатора DriveItem в качестве надежного справочника.
Удаление файлов
Используйте операции удаления, если файл больше не должен отображаться в интерфейсе активного содержимого.
Перед удалением:
- Подтвердите намерение пользователя.
- Подтвердите разрешение на запись или удаление.
- Решите, нужно ли вашему приложению выполнить обратимое удаление.
- Обновляйте состояние приложения только после того, как Graph возвращает результат "Успешно".
Восстановление файлов
Используйте возможности восстановления файлов Microsoft Graph и SharePoint, задокументированные для DriveItems и интерфейса службы.
Определение удаленного элемента или версии, подтверждение разрешения, выполнение восстановления, обновление списка элементов и сообщение восстановленного расположения.
Примечание.
recycleBinItem: восстановление поддерживается driveItemId в качестве альтернативного ключа в бета-версии Microsoft Graph (октябрь 2025 г.). Если известен идентификатор исходного элемента driveItem, можно восстановить соответствующий recycleBinItem напрямую, без первоначального перечисления корзины.
Для получения точных сведений о запросе и ответе операции с файлом используйте документацию Microsoft Graph DriveItem.
Подключение к Office и предварительные просмотры интерфейсов
После отправки добавьте более широкие возможности:
- Откройте файлы Office из приложения для запуска Word, Excel и PowerPoint.
- Предварительный просмотр файлов в приложении для просмотра в браузере.
- Выполните поиск контейнеров и файлов для обнаружения.
Проверка операций с файлами
Создайте дымовой тест:
- Создайте тестовый контейнер.
- Создайте папку.
- Отправка файла.
- Чтение возвращенных метаданных DriveItem.
- Скачайте файл.
- Замените содержимое.
- Переименуйте файл.
- Удалите этот файл.
- Восстановите его, если он поддерживается.
- Очистите тестовый контейнер.
Устранение неполадок при операциях с файлами
| Признак | Проверка |
|---|---|
| Сбой отправки |
WriteContent разрешение и роль пользователя "Писатель". |
| Сбой скачивания |
ReadContent разрешение и роль пользователя с правами чтения. |
| Не удается создать папку | Идентификатор родительской папки и разрешения на запись. |
| Сбой предварительного просмотра | Поддержка типов файлов и предварительный просмотр создания URL-адресов. |
| При запуске Office открывается неправильный режим | Параметр URL-адреса action запуска или схема URI Office. |
| Доступ отличается для разных пользователей | Делегированный доступ пересекает разрешения приложения с членством. |
Дальнейшие действия
Включите запуск Office в разделе "Открытие файлов Office из приложения".