Доступ, хранение и извлечение файлов в SharePoint Embedded с помощью Microsoft Graph

Завершено

В этом упражнении вы будете использовать Postman для доступа, хранения и извлечения файлов и документов в внедренном контейнере SharePoint с помощью клиента Postman.

Предварительные условия

Важно!

В настоящее время многие конечные точки Microsoft Graph, используемые для создания, доступа к ресурсу SharePoint Embedded и управления ими, существуют только в бета-версии конечной точки Microsoft Graph. Однако все конечные точки, которые обращаются к контейнерам и содержимому внутри содержатся, находятся в конечной точке Microsoft Graph версии 1.0.

Настройка делегированной папки коллекции Postman

Сначала необходимо настроить папку Delegated в созданной ранее коллекции Postman для получения маркера доступа приложения и пользователя, также известного как маркер делегированного доступа, чтобы можно было выполнять вызовы приложения.

В клиенте Postman выберите свою коллекцию SharePoint Embedded, выберите папку Делегировано , а затем перейдите на вкладку Авторизация . Настройте следующие параметры (игнорируйте поля, не упомянутые в следующем списке):

  • Тип: OAuth 2.0
  • Добавление данных проверки подлинности в: заголовки запросов
  • Текущий токен:
    • Токен: доступные маркеры
    • Префикс заголовка: Носитель
  • Настройка нового токена
    • Имя маркера: приложение Graph+маркер пользователя
    • Grant type: Authorization Code
    • URL-адрес обратного вызова:https://oauth.pstmn.io/v1/browser-callback
    • Auth URL: https://login.microsoftonline.com/common/oauth2/v2.0/authorize
    • Access Token URL: https://login.microsoftonline.com/common/oauth2/v2.0/token
    • Идентификатор клиента: {{ClientID}}
    • Секрет клиента: {{ClientSecret}}
    • Область:FileStorageContainer.Selected offline_access

Снимок экрана: вкладка

Нажмите кнопку Получить новый маркер доступа в нижней части формы. Откроется всплывающее окно, содержащее страницу входа в Microsoft Entra ID. Войдите с помощью учетной записи рабочего и учебного администратора для клиента Microsoft 365 и при появлении запроса на предоставление согласия на запрошенные разрешения нажмите кнопку Принять. Когда всплывающее окно закроется, Postman получит маркер и отобразит его во всплывающем окне подтверждения. Выберите Использовать токен , чтобы сохранить его для будущих запросов.

Примечание.

Добавив область, offline_accessидентификатор Microsoft Entra будет отвечать маркером обновления, поэтому Postman может не только хранить маркер доступа локально на рабочей станции, но и автоматически обновлять маркер, если он истекает при следующем его использовании.

В области Коллекция выберите папку Делегированный > контейнер , а затем перейдите на вкладку Авторизация . Задайте для параметра Типзначение Наследование проверки подлинности от родительского.

Снимок экрана: конфигурация проверки подлинности делегированной папки в Postman.

Использование REST API Microsoft Graph для вывода списка всех контейнеров

Теперь, когда настроены папки Delegated и Container коллекции Postman, добавьте новый запрос, чтобы получить список всех контейнеров.

Создайте новый запрос, щелкнув ссылку Добавить запрос в пустой папке Делегированный > контейнер или выбрав ... > Добавьте запрос из контекстного меню при наведении указателя мыши на папку Делегированный > контейнер и задайте следующие значения для нового запроса:

  • Имя: список контейнеров
  • Метод HTTP: GET
  • Конечная точка HTTP: https://graph.microsoft.com/beta/storage/fileStorage/containers?$filter=containerTypeId eq {{ContainerTypeId}}

Нажмите кнопку Send (Отправить), чтобы выполнить запрос. Вы должны увидеть допустимый ответ с нулевым числом найденных контейнеров.

Снимок экрана: запрос на перечисление контейнеров.

Создание контейнера с помощью REST API Microsoft Graph

Давайте создадим наш первый контейнер с помощью REST API Microsoft Graph.

Создайте новый запрос, используя следующие значения:

  • Имя: Создание контейнера

  • Метод HTTP: POST

  • Конечная точка HTTP: https://graph.microsoft.com/beta/storage/fileStorage/containers

  • Текст: необработанный > JSON

    {
      "displayName": "Sample App Container 1",
      "description": "First container description.",
      "containerTypeId": "{{ContainerTypeId}}"
    }
    

Выполните запрос, нажав кнопку Отправить.

Microsoft Graph ответит кодом HTTP 201 в случае успешного выполнения с сводкой новых сведений о контейнере:

Снимок экрана: новый запрос на создание контейнера и ответ от успешного выполнения.

Теперь при повторном выполнении запроса "Список контейнеров " вы увидите, что он возвращает созданный контейнер.

Давайте сохраните идентификатор контейнера для использования в будущем.

Выберите значение свойства ответа, щелкните его правой id кнопкой мыши и выберите свойство ContainerID среды.

Снимок экрана: обновление переменной среды с помощью текущего ответа.

Использование REST API Microsoft Graph для получения сведений о конкретном контейнере

Затем создайте новый запрос для получения одного контейнера с помощью REST API Microsoft Graph.

Вернитесь к коллекции SharePoint Embedded, вернитесь в папку Делегированный > контейнер и создайте новый запрос, используя следующие значения:

  • Имя: Получение контейнера

  • Метод HTTP: GET

  • Конечная точка HTTP:

    https://graph.microsoft.com/beta/storage/fileStorage/containers/{{ContainerID}}?$select=id,displayName,containerTypeId,status,description,customProperties&$expand=permissions
    

Выполните запрос, нажав кнопку Отправить. Microsoft Graph ответит подробными сведениями о контейнере.

Добавление файлов в существующий контейнер

Все контейнеры в SharePoint Embedded можно рассматривать как объект Диска Microsoft Graph, который будет знаком разработчикам, используемым для работы с конечными точками OneDrive в Microsoft Graph. Это означает, что вы можете использовать все существующие конечные точки Диска и код, созданный ранее для управления содержимым в объекте Drive, чтобы управлять содержимым в внедренных контейнерах SharePoint.

Доступ к контейнеру в качестве объекта Диска

Создайте папку Файлы в папке Delegated коллекции Postman.

Затем создайте новый запрос в папке Делегированные > файлы , используя следующие значения:

  • Имя: Получение диска
  • Метод HTTP: GET
  • Конечная точка HTTP: https://graph.microsoft.com/v1.0/drives/{{ContainerID}}

Повторите процесс, чтобы получить список всех файлов, также известных как DriveItems, в объекте Drive с помощью конечной items точки:

  • Имя: Get DriveItems
  • Метод HTTP: GET
  • Конечная точка HTTP: https://graph.microsoft.com/v1.0/drives/{{ContainedID}}/items/root/children

Выполните запрос, нажав кнопку Отправить. Microsoft Graph ответит содержимое внедренного контейнера SharePoint:

Снимок экрана: содержимое контейнера, использующий существующие конечные точки диска Microsoft Graph версии 1.0 и DriveItems.

Отправка файла в контейнер

После создания контейнера и возможности просматривать файлы в контейнере с помощью существующих конечных точек Диска Microsoft Graph и DriveItems, давайте добавим файл в контейнер.

Создайте документ Microsoft Word. В этом примере мы будем использовать документ для редактируемого календаря за январь 2024 г., созданного на основе одного из включенных шаблонов Microsoft Word. В этом примере файл называется Jan2024.docx.

Создайте новый запрос в папке Делегированные > файлы , используя следующие значения:

  • Имя: отправка файла
  • Метод HTTP: PUT
  • Конечная точка HTTP: https://graph.microsoft.com/v1.0/drives/{{ContainerId}}/root:/Jan2024.docx:/content
  • Тело:
    • Тип: binary
    • Выберите файл Microsoft Word (Jan2024.docx в этом примере)

Примечание.

Обновите конечную точку, чтобы использовать имя файла, который вы хотите создать в контейнере. В этом примере мы используем Jan2024.docx.

Нажмите кнопку Отправить , чтобы отправить файл:

Снимок экрана: результаты отправки файла в контейнер с помощью конечной точки Дисков Microsoft Graph.

Повторно запустите запрос Get DriveItems , чтобы просмотреть файл в контейнере:

Снимок экрана: содержимое контейнера, использующий конечную точку DriveItems Microsoft Graph.

Сводка

В этом упражнении вы использовали Postman для доступа, хранения и извлечения файлов и документов в контейнере SharePoint Embedded с помощью клиента Postman путем вызова REST API Microsoft Graph с маркером доступа приложения и пользователя.

Проверьте свои знания

1.

Что разработчики могут использовать для доступа к файлам и документам в внедренных контейнерах SharePoint?

2.

Как создать контейнер в используемом клиенте?

3.

Как отправить файл в контейнер?