使用 SharePoint 网站资源

Microsoft Graph 中的 SharePoint API 支持以下核心情形:

  • 访问 SharePoint 网站列表驱动器(文档库)
  • 支持对 site 资源进行只读访问(无法创建新网站)
  • 支持对 listslistItemsdriveItems 进行读写访问
  • 用 SharePoint ID、URL 或相对路径表示的 Address 资源

SharePoint API 公开了三种主要资源类型:

任务

下面的所有示例都相对于 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 主机名(后跟冒号和网站的相对路径)按路径对网站进行寻址。 可以选择通过将另一个冒号放在末尾来转换回资源模型寻址。

Path 说明
/sites/contoso.sharepoint.com:/teams/hr https://contoso.sharepoint.com/teams/hr 相关联的网站
/sites/contoso.sharepoint.com:/teams/hr:/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 项的创建日期和时间。 此为只读属性。
说明 string 网站的描述性文本。
eTag string 该项目的 ETag。 此为只读属性。
displayName string 网站的完整标题。 只读。
lastModifiedDateTime DateTimeOffset 上次修改项目的日期和时间。 此为只读属性。
name string 项目名称/标题。
如果存在,则指示这是网站集中的根网站。 只读。
sharepointIds sharepointIds 返回对 SharePoint REST 兼容性有用的标识符。 只读。
siteCollection siteCollection 提供有关网站的网站集的详细信息。 仅在根站点上可用。 此为只读属性。
webUrl string (url) 在浏览器中显示项的 URL。 只读。

关系

关系名称 类型 说明
columns Collection(columnDefinition) 可以在此网站下方的列表中重复使用的列定义集合。
contentTypes Collection(contentType) 为此网站定义的内容类型集合。
drive drive 此网站的默认驱动器(文档库)。
驱动器 集合(drive 网站下方的驱动器集合(文档库)。
项目 集合 (baseItem) 用于处理此网站中包含的任何项目。 不能枚举此集合。
lists Collection(list) 此网站下方的列表集合。
sites 集合(网站 网站下方的子网站的集合。

现有 SharePoint 开发人员须知

Microsoft Graph SharePoint API 与 CSOM API 有几个主要区别。 网站 资源映射到 SPWeb。 网站集中的根网站 (SPWeb) 具有 siteCollection facet,其中包含有关 SPSite 的信息。 由于网站 ID 只在其网站集中是唯一的,因此按 ID 为网站寻址需要提供网站集标识符和网站标识符。

GET https://graph.microsoft.com/v1.0/sites/{hostname},{spsite-id},{spweb-id}/

仅使用主机名构造的 URL 将指向默认网站集中的根网站 (SPWeb)。

GET https://graph.microsoft.com/v1.0/sites/{hostname}

仅使用主机名和 siteCollection (SPSite) ID 构造的 URL 将指向给定网站集中的根网站 (SPWeb)。

GET https://graph.microsoft.com/v1.0/sites/{hostname},{spsite-id}