SharePoint API回收站问题:无法获取其他用户删除的文件
1. 确认API端点是否正确
- 若使用SharePoint REST API,必须调用站点级回收站端点:
避免调用个人回收站端点(如GET /_api/web/recyclebin/_api/web/personalrecyclebin),后者仅返回当前用户删除的项目。 - 若使用Microsoft Graph API,需调用站点回收站的完整items端点:
仅调用GET /sites/{site-id}/recycleBin/items/sites/{site-id}/recycleBin默认返回当前用户的回收站内容。
2. 调整请求参数与权限配置
- SharePoint REST API:添加
$top参数突破默认分页限制,确保获取全部结果,示例:
同时在请求头中包含GET /_api/web/recyclebin?$top=5000Accept: application/json;odata=verbose,保证返回完整的回收站项目数据。 - Graph API:确保已申请
Sites.FullControl.All权限(委托或应用权限均可),可添加$expand=deletedByUser参数验证删除者信息,确认是否包含其他用户的项目:GET /sites/{site-id}/recycleBin/items?$expand=deletedByUser&$top=5000
3. 验证权限上下文
- 若使用应用权限调用API,确认应用已被授予站点的Full Control权限,而非仅用户级权限。
- 若使用委托权限,通过
/_api/web/currentuser接口验证当前登录用户的权限级别,确保确实拥有站点的Full权限。
4. 排查特殊场景
- 部分启用保留策略的文档库,文件删除后可能不会立即同步到API结果中,需等待策略生效或联系管理员触发同步。
- 检查是否有站点集管理员限制了API访问回收站的范围,可向管理员确认相关配置。
内容的提问来源于stack exchange,提问作者Lal Kumar Rai
相关产品推荐
相关产品推荐

