Доступ, хранение и извлечение файлов в SharePoint Embedded с помощью Microsoft Graph
В этом упражнении вы будете использовать Postman для доступа, хранения и извлечения файлов и документов в внедренном контейнере SharePoint с помощью клиента Postman.
Предварительные условия
- Установленныйклиент Postman для настольных компьютеров вошел в бесплатную или платную учетную запись Postman.
- Доступ к учетной записи администратора в клиенте Microsoft 365.
Важно!
В настоящее время многие конечные точки 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 может не только хранить маркер доступа локально на рабочей станции, но и автоматически обновлять маркер, если он истекает при следующем его использовании.
В области Коллекция выберите папку Делегированный > контейнер , а затем перейдите на вкладку Авторизация . Задайте для параметра Типзначение Наследование проверки подлинности от родительского.
Использование 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 и 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.
Нажмите кнопку Отправить , чтобы отправить файл:
Повторно запустите запрос Get DriveItems , чтобы просмотреть файл в контейнере:
Сводка
В этом упражнении вы использовали Postman для доступа, хранения и извлечения файлов и документов в контейнере SharePoint Embedded с помощью клиента Postman путем вызова REST API Microsoft Graph с маркером доступа приложения и пользователя.