События
Конференция сообщества Microsoft 365
6 мая, 14 - 9 мая, 00
Навыки для эпохи ИИ в конечном итоге сообщество под руководством Microsoft 365, 6-8 мая в Лас-Вегасе.
ПодробнееЭтот браузер больше не поддерживается.
Выполните обновление до Microsoft Edge, чтобы воспользоваться новейшими функциями, обновлениями для системы безопасности и технической поддержкой.
Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
При работе со службой REST SharePoint часто возникает ситуация, когда вам известен URL-адрес определенного элемента SharePoint, но требуется получить доступ к связанным элементам, например структуре папок и библиотек, в которой находится элемент. Допустим, вы создаете надстройку, в которой пользователь вводит URL-адрес документа в библиотеке SharePoint. После этого надстройка должна разобрать этот URL-адрес и определить фактический URL-адрес сайта SharePoint. После этого надстройка сможет отправлять с сайта дальнейшие запросы от имени пользователя, например на создание, обновление или удаление связанных элементов или ресурсов.
Для этого надстройка должна запросить у SharePoint следующие сведения:
Используйте оператор /contextinfo
с заданным URL-адресом для доступа к сайту и семейству веб-сайтов, а также дайджестом формы. Используйте оператор /contextinfo
в следующем формате:
POST https://{site_url}/_api/contextinfo
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=verbose"
Чтобы усилить защиту от межсайтовых сценариев, оператор /contextinfo
принимает только запросы POST.
Используйте свойства объекта SPContextWebInformation, возвращаемые оператором /contextinfo
, для доступа к дополнительным ресурсам по мере необходимости.
Начните с URL-адреса определенного элемента SharePoint. Например: https://{site_url}/doclib/myDocument.docx
Удалите имя ресурса в конце URL-адреса так, чтобы URL-адрес указывал на библиотеку документа, папку или список. В этом случае: https://{site_url}/doclib/
Добавьте указатель службы REST и оператор /contextinfo
к URL-адресу:
POST https://{site_url}/_api/doclib/contextinfo
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=verbose"
Прочитайте дайджест формы и свойства webFullUrl из отклика.
Добавьте указатель службы REST _api
в конец URL-адреса веб-сайта.
Используйте полученный URL-адрес и дайджест формы для отправки запросов о других нужных ресурсах.
Совет
При отправке запросов GET или отправке запросов с использованием проверенного маркера OAuth передавать дайджест формы не требуется.
При навигации по структуре сайтов с помощью серверной объектной модели SharePoint используются свойства SPWeb.ParentWeb и SPWeb.Webs для доступа к объектам, представляющим родительские и дочерние сайты.
Соответствующие ресурсы REST (web/parentweb
и web/webs
) не возвращают объекты, представляющие сайты. Это вызвано тем, что служба REST соответствует стандартам OData, а возврат готовых представлений сайтов сделал бы такие запросы неэффективными. Вместо этого они возвращают объект WebInfo, содержащий скалярные свойства сайта, но без связанных наборов сущностей, таких как коллекции или семейства полей.
Чтобы перейти к определенному родительскому или дочернему сайту, составьте подходящий URL-адрес REST этого сайта с помощью свойства Id или Title. После этого вы можете получить доступ к наборам сущностей, связанным с этим сайтом.
Служба REST SharePoint не поддерживает обход иерархии папок сайта путем составления URL-адресов. Вместо этого можно использовать аналог метода Web.GetFolderByServerRelativeUrl в службе REST. Пример:
Навигация, не поддерживаемая в службе REST:
https://{site_url}/_vti_bin/client.svc/web/lists/SharedDocuments/folder1/stuff/things/Recycle
Навигация, поддерживаемая в службе REST:
https://{site_url}/_vti_bin/client.svc/web/GetFolderByServerRelativeUrl('SharedDocuments/folder1/stuff/things')/Recycle
Свойство SPContextWebInformation | Описание |
---|---|
webFullUrl | Возвращает URL-адрес относительно сервера для ближайшего сайта. |
siteFullUrl | Получает относительный URL-адрес корневого веб-сайта семейства, в котором содержится сайт. Если ближайшим веб-сайтом является корневой сайт семейства веб-сайтов, значения свойств webFullUrl и siteFullUrl одинаковы. |
formDigestValue | Возвращает дайджест формы запроса сервера. |
LibraryVersion | Возвращает текущую версию библиотеки REST. |
SupportedSchemaVersions | Получает поддерживаемые версии схемы библиотеки REST/CSOM. |
Свойство WebInfo | Описание |
---|---|
Created | Возвращает значение, определяющее, когда был создан сайт. |
Description | Возвращает или задает описание сайта. |
Id | Возвращает значение, указывающее идентификатор сайта. |
Language | Возвращает значение, указывающее код языка, используемого на сайте. |
LastItemModifiedDate | Возвращает значение, определяющее, когда в последний раз был изменен элемент на сайте. |
Title | Получает или задает название сайта. |
WebTemplateId | Получает идентификатор шаблона сайта. |
События
Конференция сообщества Microsoft 365
6 мая, 14 - 9 мая, 00
Навыки для эпохи ИИ в конечном итоге сообщество под руководством Microsoft 365, 6-8 мая в Лас-Вегасе.
Подробнее