SharePoint列表Graph API调用问题:无法获取列表内容
1. 修正API请求路径
你当前使用的https://graph.microsoft.com/v1.0/sites/SubDivision/lists路径不符合Graph API的规范,直接用站点名称无法被正确识别。
- 从能正常返回结果的
https://graph.microsoft.com/v1.0/sites/mycompany.sharepoint.com:/sites/SubDivision响应中,提取站点的id字段(格式示例:mycompany.sharepoint.com,xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) - 用站点ID构造正确的请求:
curl --header "Authorization: Bearer [token here]" https://graph.microsoft.com/v1.0/sites/[提取的站点ID]/lists
或者直接使用规范的站点标识符格式发起请求:
curl --header "Authorization: Bearer [token here]" https://graph.microsoft.com/v1.0/sites/mycompany.sharepoint.com:/sites/SubDivision/lists
2. 检查访问令牌权限
确认你的令牌包含正确的权限范围:
- 应用权限:需
Sites.Read.All或Sites.ReadWrite.All(已完成管理员同意) - 委派权限:需
Sites.Read.All或Sites.ReadWrite.All(用户已完成授权)
可以通过JWT解析工具查看令牌的scp(委派权限)或roles(应用权限)字段,验证权限是否符合要求。
3. 验证账号访问权限
- 确保令牌对应的账号(应用或用户)能直接在SharePoint页面打开目标列表
https://mycompany.sharepoint.com/sites/SubDivision/Lists/Fake%20Data/AllItems.aspx,确认账号有该站点及列表的访问权限 - 若使用应用权限,需确认应用已被授予该站点的访问权限(或全局站点权限)
4. 根据错误码针对性处理
如果请求返回错误,按错误码排查:
401 Unauthorized:令牌无效或权限不足,重新获取令牌或检查权限配置404 Not Found:请求路径错误,确认站点标识符/ID的正确性403 Forbidden:账号无对应站点/列表的访问权限,检查SharePoint站点权限设置
内容的提问来源于stack exchange,提问作者Jpm Abaca
相关产品推荐
相关产品推荐

