如何通过Graph API获取SharePoint页面分区标题?无结果时的替代方案
当Graph API的GET /sites/{site-id}/pages/{page-id}/microsoft.graph.sitePage/webparts端点仅返回Web部件数据、无法获取分区标题时,可以通过**SharePoint REST API(SP API)**获取完整的页面布局数据,从中提取分区标题信息,具体方法如下:
1. 调用SP API获取页面完整数据
使用以下端点获取目标页面的列表项详情,其中包含页面的画布布局内容:
- 按页面服务器相对路径请求:
GET {site-url}/_api/web/getfilebyserverrelativeurl('/sites/{site-name}/SitePages/{page-title}.aspx')/ListItemAllFields - 按页面列表项ID请求:
GET {site-url}/_api/web/lists/getbytitle('Site Pages')/items({page-item-id})
2. 提取并解析分区标题
在响应结果中,找到CanvasContent1字段——这是一个JSON格式的字符串,包含了页面的所有布局结构(分区、列、Web部件等)。解析该字符串后,遍历sections数组,每个section对象的displayName属性即为对应分区的标题。
示例解析后的CanvasContent1核心结构:
{ "sections": [ { "displayName": "产品介绍分区", "columns": [...], "webparts": [...] }, { "displayName": "用户反馈分区", "columns": [...], "webparts": [...] } ] }
注意事项
- 请求需在SharePoint站点上下文内发起,权限需包含站点的读取权限;
CanvasContent1的结构可能因SharePoint版本略有差异,解析时需适配实际返回的JSON结构。
内容的提问来源于stack exchange,提问作者ants
相关产品推荐
相关产品推荐

