Работа с ресурсами сайтов SharePoint
API SharePoint в Microsoft Graph поддерживает следующие основные сценарии:
- доступ к ресурсам site, list и drive (библиотекам документов) в SharePoint;
- доступ к ресурсам site только для чтения (без возможности создавать сайты);
- доступ на чтение и запись к ресурсам list, listItem и driveItem;
- обращение к ресурсам по идентификатору SharePoint, URL-адресу или относительному пути.
API SharePoint предоставляет три основных типа ресурсов:
Задачи
Все приведенные ниже примеры относятся к https://graph.microsoft.com/v1.0
.
Имя задачи | Пример запроса |
---|---|
Получение корневого сайта | GET /sites/root |
Получение сайта | GET /sites/{site-id} |
Получение сайта по пути | GET /sites/{hostname}:/{site-path} |
Получение сайта для группы | GET /groups/{group-id}/sites/root |
Поиск сайтов | GET /sites?search={query} |
Доступ к библиотеке документов по умолчанию для сайта | GET /sites/{site-id}/drive |
Перечисление коллекции библиотек документов на сайте | GET /sites/{site-id}/drives |
Перечисление списков на сайте | GET /sites/{site-id}/lists |
Перечисление корневых сайтов | GET /sites?filter=root ne null&select=siteCollection,webUrl |
Поиск сайтов | GET /sites?search={query} |
Сайты также можно адресовать по пути, используя имя узла SharePoint, за которым следует двоеточие и относительный путь к сайту. При необходимости можно вернуться к модели ресурсов, поместив в конец еще один двоеточие.
Путь | Описание |
---|---|
/sites/contoso.sharepoint.com:/teams/hr | Сайт, связанный с https://contoso.sharepoint.com/teams/hr |
/sites/contoso.sharepoint.com:/teams/hr:/drive | Доступ к ресурсу drive, заданному по умолчанию для этого сайта. |
Представление в формате JSON
Ниже показано представление ресурса site в формате JSON.
Ресурс site является производным от ресурса baseItem и наследует его свойства.
{
"id": "string",
"root": { "@odata.type": "microsoft.graph.root" },
"sharepointIds": { "@odata.type": "microsoft.graph.sharepointIds" },
"siteCollection": {"@odata.type": "microsoft.graph.siteCollection"},
"displayName": "string",
/* relationships */
"contentTypes": [ { "@odata.type": "microsoft.graph.contentType" }],
"drive": { "@odata.type": "microsoft.graph.drive" },
"drives": [ { "@odata.type": "microsoft.graph.drive" }],
"items": [ { "@odata.type": "microsoft.graph.baseItem" }],
"lists": [ { "@odata.type": "microsoft.graph.list" }],
"sites": [ { "@odata.type": "microsoft.graph.site"} ],
"columns": [ { "@odata.type": "microsoft.graph.columnDefinition" }],
/* inherited from baseItem */
"name": "string",
"createdDateTime": "datetime",
"description": "string",
"eTag": "string",
"lastModifiedDateTime": "datetime",
"webUrl": "url"
}
Свойства
Имя свойства | Тип | Описание |
---|---|---|
id | string | Уникальный идентификатор элемента. Только для чтения. |
createdDateTime | DateTimeOffset | Дата и время создания элемента. Только для чтения. |
description | string | Текст с описанием сайта. |
eTag | string | ETag для элемента. Только для чтения. |
displayName | string | Полное название сайта. Только для чтения. |
lastModifiedDateTime | DateTimeOffset | Дата и время последнего изменения элемента. Только для чтения. |
name | string | Имя или название элемента. |
root | root | Если это свойство присутствует, оно указывает на то, что сайт — корневой в семействе веб-сайтов. Только для чтения. |
sharepointIds | sharepointIds | Возвращает идентификаторы, использующиеся для обеспечения совместимости с SharePoint REST. Только для чтения. |
siteCollection | siteCollection | Предоставляет сведения о семействе веб-сайтов сайта. Доступно только на корневом сайте. Только для чтения. |
webUrl | строка (url-адрес) | URL-адрес для отображения элемента в браузере. Только для чтения. |
Связи
Имя связи | Тип | Описание |
---|---|---|
columns | Collection(columnDefinition) | Коллекция определений столбцов, которые можно повторно использовать в разных списках на этом сайте. |
contentTypes | Collection(contentType) | Коллекция типов контента, определенных для этого сайта. |
drive | drive | Диск по умолчанию (библиотека документов) для этого сайта. |
drives | Collection(drive) | Коллекция дисков (библиотек документов) на этом сайте. |
items | Collection(baseItem) | Используется для адресации любого элемента, содержащегося на этом сайте. Вам не удастся выполнить перечисление этой коллекции. |
lists | Collection(list) | Коллекция списков на этом сайте. |
sites | Collection(site) | Коллекция дочерних сайтов этого сайта. |
Примечание, касающееся разработки решений для SharePoint
API SharePoint в Microsoft Graph имеет ряд ключевых отличий от API CSOM.
Ресурс site сопоставляется с SPWeb
.
Корневой ресурс site (SPWeb
) в семействе веб-сайтов имеет аспект siteCollection, содержащий сведения о SPSite
.
Идентификаторы сайтов уникальны только в пределах одного семейства веб-сайтов. Поэтому чтобы обратиться к сайту по его идентификатору, необходимо указать два идентификатора — для семейства веб-сайтов и для самого сайта.
GET https://graph.microsoft.com/v1.0/sites/{hostname},{spsite-id},{spweb-id}/
URL-адрес, содержащий только имя узла, будет указывать на корневой сайт (SPWeb
) в семействе веб-сайтов по умолчанию.
GET https://graph.microsoft.com/v1.0/sites/{hostname}
URL-адрес, содержащий только имя узла и идентификатор siteCollection (SPSite
), будет указывать на корневой сайт (SPWeb
) в указанном семействе веб-сайтов.
GET https://graph.microsoft.com/v1.0/sites/{hostname},{spsite-id}