使用 SharePoint 网站资源
Microsoft Graph 中的 SharePoint API 支持以下核心情形:
- 访问 SharePoint 网站、列表和驱动器(文档库)
- 支持对 site 资源进行只读访问(无法创建新网站)
- 支持对 lists、listItems 和 driveItems 进行读写访问
- 用 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}