MS Graph API列表调用正常,页面调用返回错误,求排查原因
问题原因及解决方法
核心原因:API路径格式错误
你使用的第二个API路径https://graph.microsoft.com/v1.0/sites/{my-site_id}/pages/microsoft.graph.sitePage不符合MS Graph API的规范:
- 获取站点页面列表的正确路径应为
https://graph.microsoft.com/v1.0/sites/{my-site_id}/pages,无需追加/microsoft.graph.sitePage。该后缀属于类型限定符,仅在特定查询参数(如$filter)或类型转换场景中使用,直接放在路径里会被识别为无效资源段,从而触发"Resource not found for the segment 'pages'"错误。
其他潜在次要原因
- 权限不匹配:尽管
/lists调用成功,但/pages资源可能需要更高或不同的权限(如Sites.Read.All、Sites.ReadWrite.All),若当前令牌无对应权限,也可能引发类似错误(但你的错误提示更指向路径问题,优先排查路径)。 - 站点类型限制:少数特殊站点(如部分经典站点、系统内置站点)可能不支持
pages资源,但/lists能正常返回的情况下,这种概率极低。
正确调用示例
使用修正后的路径发起请求:
GET https://graph.microsoft.com/v1.0/sites/{my-site_id}/pages
调用成功后将返回200状态码,以及包含sitePage对象的列表。
内容的提问来源于stack exchange,提问作者Scott Alexander
相关产品推荐
相关产品推荐

