You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法获取SharePoint子站点Site ID:调用Microsoft Graph API报错求助

SharePoint子站点Site ID/Drive ID获取及Graph API调用错误解决

问题描述

尝试向SharePoint子站点文档库上传文件时,获取子站点Site ID/文档库Drive ID遇到障碍。通过SharePoint REST API获取到Web ID后,调用Microsoft Graph API的GET https://graph.microsoft.com/v1.0/sites/webid请求返回如下错误:

{
"error": {
"code": "itemNotFound",
"message": "Item not found",
"innerError": {
"date": "2024-05-22T13:43:03",
"request-id": "1771c172-052d-4d54-9087-66c891ebb869",
"client-request-id": "1771c172-052d-4d54-9087-66c891ebb869"
}
}
}

错误原因

Graph API的sites端点不支持直接传入单独的Web ID。Graph中站点的标识符格式为{租户ID},{站点集ID},{子站点ID},或使用{租户域名}:/{站点路径}的路径式标识,单独的Web ID无法被识别。

解决步骤

1. 获取正确的子站点Site ID

方法一:通过Graph API路径式查询

直接通过子站点的域名和路径调用API:

GET https://graph.microsoft.com/v1.0/sites/{租户域名}:/sites/{子站点相对路径}

示例:若子站点路径为https://contoso.sharepoint.com/sites/root-site/sub-site,则请求为:

GET https://graph.microsoft.com/v1.0/sites/contoso.sharepoint.com:/sites/root-site/sub-site

返回结果中的id字段即为子站点的完整Site ID。

方法二:组合SharePoint REST API获取的ID

  • 访问子站点的REST API获取站点集ID:/_api/site/id,得到站点集ID
  • 访问子站点的REST API获取Web ID:/_api/web/id,得到子站点ID
  • 获取租户ID(可通过Azure门户或Graph API的GET https://graph.microsoft.com/v1.0/organization获取)
  • 组合为完整Site ID:{租户ID},{站点集ID},{子站点ID}

2. 获取文档库Drive ID

拿到正确的子站点Site ID后,调用以下API获取该站点下所有文档库的Drive信息:

GET https://graph.microsoft.com/v1.0/sites/{子站点Site ID}/drives

在返回结果中找到目标文档库对应的id字段,即为Drive ID。

3. 验证调用

使用正确的Site ID调用GET https://graph.microsoft.com/v1.0/sites/{子站点Site ID},若返回子站点的详细信息,则说明Site ID有效,可继续后续的文件上传操作。

内容的提问来源于stack exchange,提问作者Ashish Vats

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 11:56:06