Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применяется к: Для разработчиков
Создавайте контейнеры и управляйте ими после создания, регистрации и авторизации типа контейнера. Контейнеры — это основная единица хранения в SharePoint Embedded.
Выполните Настройка проверки подлинности и авторизации перед вызовом API контейнера.
Общие сведения о контейнерах
Все файлы и документы SharePoint Embedded хранятся в контейнерах.
Контейнер:
- Принадлежит клиенту Microsoft 365-потребителю.
- Имеет неизменяемый идентификатор типа контейнера.
- Сохраняет содержимое для приложения.
- Определяет границы членства и разрешений.
- Доступ осуществляется через Microsoft Graph.
Обзор архитектуры см. в статье Архитектура приложения SharePoint Embedded.
Знать жизненный цикл
Типичный жизненный цикл контейнера включает:
- Создайте контейнер.
- Добавьте или подтвердите участников.
- Отправка файлов и управление ими.
- Чтение или обновление метаданных контейнера.
- Утилизация контейнера, когда он больше не активен.
- При необходимости восстанавливайте переработанный контейнер.
- Окончательное удаление контейнеров во время очистки.
Перейдите к разделу Загрузка, скачивание и управление файлами для операций с содержимым.
Предварительные условия
Перед созданием контейнеров убедитесь, что:
- Тип контейнера существует.
- Тип контейнера зарегистрирован в клиенте-потребителе.
- У приложения есть согласие Microsoft Graph
FileStorageContainer.Selected. - У приложения есть разрешения типа контейнера для этой операции.
- Приложение получает маркер в качестве конфиденциального клиента, так как он требуется для создания контейнера.
- Для делегированных звонков вошедший в систему пользователь может получить необходимую роль контейнера.
- Для пробных типов контейнеров вы находитесь в пределах пробного периода.
Важно!
Пробные типы контейнеров могут создавать до пяти контейнеров, включая активные контейнеры и контейнеры в корзине.
Создание контейнеров с помощью конфиденциального клиента
Для создания контейнера требуется конфиденциальное клиентское приложение. Конфиденциальный клиент владеет учетными данными, например секретом клиента или сертификатом, и получает маркеры от компонента, который обеспечивает конфиденциальность этих учетных данных, например от серверной части веб-приложения или службы.
Не удается вызвать контейнер, использующий маркер из приложения общедоступного клиента , поскольку маркеры общедоступного клиента доступны пользователю и могут быть использованы повторно без ведома приложения. К общедоступным клиентам относятся одностраничные приложения, мобильные приложения и классические приложения.
Это требование распространяется как на делегированное, так и на использование только приложения:
- Для делегированного создания получите маркер с потоком кодов авторизации и учетными данными клиента, а затем вызовите Microsoft Graph с серверной части.
- Для создания только приложения получите маркер с потоком учетных данных клиента, который всегда является конфиденциальным.
Если в вашем приложении есть интерфейс общедоступного клиента, направляйте создание контейнера через конфиденциальную внутреннюю службу, а не через вызов Microsoft Graph из клиента.
Дополнительные сведения см. в статьях Общедоступные клиенты и конфиденциальные клиентские приложения.
Выбор делегированного создания или создания только приложения
Используйте делегированный доступ, когда пользователь инициирует создание, пользователь должен быть ответственным, или создающий пользователь должен стать владельцем контейнера.
Используйте доступ только для приложения, если служба подготавливает контейнеры, пользователь отсутствует и у приложения есть разрешение на создание контейнеров.
Примечание.
Пользователю, создающему новый контейнер с помощью делегированных вызовов, автоматически назначается роль владельца.
Создание контейнера
Используйте Microsoft Graph, чтобы создать контейнер файлового хранилища для зарегистрированного типа контейнера.
Фигуру "канонический API" см. в разделе "Создание fileStorageContainer".
Этапы реализации:
- Получите действительный токен Microsoft Graph у конфиденциального клиента.
- Включите сведения о типе целевого контейнера, необходимые для API.
- Отправка запроса на создание.
- Сохраните код возвращенного контейнера.
- Метаданные дисплея Store, необходимые вашему приложению.
- Назначение или подтверждение членства для делегированных сценариев.
Совет
Сохраните идентификатор контейнера в базе данных приложения как прочную связь между бизнес-объектом и контейнером SharePoint Embedded.
Создание контейнера в Visual Studio Code
Для пробной разработки расширение Visual Studio Code может создавать контейнеры.
- Открытие представления SharePoint Embedded.
- Разверните зарегистрированный тип пробного контейнера.
- Щелкните контейнеры правой кнопкой мыши.
- Выберите "Создать контейнер".
- Введите имя.
- Убедитесь, что контейнер отображается в списке контейнера.
См. краткое руководство: создание первого приложения с помощью VS Code для потока расширения.
Контейнеры со списком
Составьте список контейнеров для отображения доступных контейнеров, проверки подготовки или запуска обслуживания.
Фигуру "канонический API" см. в статье Контейнеры списка.
При перечислении контейнеров:
- Использование доступа только для приложений для сценариев инвентаризации служб.
- Используйте делегированный доступ, только если контекст пользователя подходит.
- Обработка разбиения на страницы.
- Сопоставление результатов с данными приложения.
Примечание.
Контейнеры делегированных списков в настоящее время возвращаются 403 Forbidden , если у пользователя нет OneDrive. Эта зависимость не применяется к вызовам списка только для приложений.
Получить контейнер
Получите контейнер, если вам понадобятся последние метаданные, прежде чем действовать.
Используйте эту операцию, чтобы подтвердить существование контейнера, прочитать свойства отображения, проверить тип контейнера, состояние проверки перед операциями с файлом и подтвердить восстановление.
Связать реализации с типом ресурса fileStorageContainer.
Обновление метаданных контейнера
Обновлять метаданные при изменении поддерживаемых свойств.
Перед обновлением:
- Убедитесь, что у приложения есть разрешение типа
Writeконтейнера. - Убедитесь, что у делегированного пользователя есть подходящая роль.
- Чтение текущего состояния контейнера.
- Применяются только запланированные изменения.
- Проверьте ответ.
Удаление или утилизация контейнера
Утилизация или удаление контейнера, когда он больше не активен.
Перед удалением:
- Убедитесь, что у вызывающего есть разрешение.
- Убедитесь, что у приложения есть архивные деловые ссылки.
- Решите, следует ли сначала утилизировать контейнер.
- Расскажите пользователям, как они могут восстановить переработанный контейнер.
Расширение Visual Studio Code включает функции утилизации и восстановления для пробной разработки.
Восстановление переработанного контейнера
Поток восстановления должен:
- Определите переработанный контейнер.
- Убедитесь, что у вызывающего есть разрешение.
- Восстановите контейнер.
- Обновите состояние приложения.
- Убедитесь, что файлы и метаданные доступны.
- Уведомите пользователя.
Важно!
Для пробных типов контейнеров контейнеры в корзине по-прежнему учитываются в ограничении в пять контейнеров.
Окончательное удаление контейнеров
Окончательное удаление только в том случае, если вы уверены, что контейнер больше не нужен.
Перед удалением самого типа контейнера необходимо удалить все контейнеры определенного типа, включая удаленные.
Используйте окончательное удаление для очистки пробной версии, удаления тестовых данных, снятия типа контейнера с учета или соблюдения требований жизненного цикла.
Проверка операций жизненного цикла
Создайте дымовой тест:
- Создайте тестовый контейнер.
- Получите его по идентификатору.
- Перечислите контейнеры и убедитесь, что они отображаются.
- Обновление поддерживаемого значения метаданных.
- Добавьте небольшой файл.
- Утилизируйте или удалите контейнер.
- Восстановите его, если он поддерживается.
- Окончательно удалите его во время очистки.
Устранение неполадок жизненного цикла
| Признак | Проверка |
|---|---|
| Создание ошибок | Регистрация и Create разрешения. |
| Создавайте ошибки в браузере, мобильном или классическом приложении | Токен поступает из публичного клиента. Вместо этого получите ее у конфиденциального клиента. |
| Ошибка делегированного создания | Согласие пользователя, получение конфиденциального токена клиента и поведение при назначении ролей. |
| Сбой списка для делегированного пользователя | Зависимость OneDrive, указанная в статье об аутентификации. |
| Сбой удаления |
Delete разрешение и роль владельца пользователя. |
| Сбой при создании пробной версии | Возможно, контейнеры Active Plus Recycled достигли предела. |
| Ошибка удаления типа контейнера | Сначала необходимо удалить все активные и удаленные контейнеры. |
Дальнейшие действия
Добавление операций с файлами в разделе "Загрузка, скачивание и управление файлами".