SharePoint本地订阅版REST API无法获取其他用户删除的回收站项目(UI中可见)
我之前也碰到过这个一模一样的问题!SharePoint本地版的REST API在这里确实有点“藏一手”——默认调用/_api/web/RecycleBin只会返回当前用户在当前网站级回收站的项目,哪怕你是站点集管理员也不例外。而你在UI里看到的所有用户删除的项目,其实是存在站点集级回收站里的内容,所以得换个API端点来调用。
给你两个可行的解决方案,根据你的需求选:
方案1:调用站点集级回收站API(推荐)
直接调用站点级的RecycleBin接口,这个端点会返回站点集回收站里的所有项目,包括所有用户从各个子网站删除后转移过来的内容,站点集管理员默认有权限访问:
GET https://{site_url}/_api/site/RecycleBin
你可以直接在浏览器里测试这个请求(确保已经登录到SharePoint站点),应该就能看到所有用户删除的回收站项目了。
方案2:获取当前网站的所有用户删除项目(如果只需要当前网站的)
如果你只需要当前网站内所有用户删除的项目,而不是整个站点集的,可以用POST请求调用GetItems方法,传入IncludeAdminRecycleBinItems参数来获取管理员可见的所有内容:
- 请求URL:
POST https://{site_url}/_api/web/RecycleBin/GetItems
- 请求头设置:
Content-Type: application/json;odata=verboseAccept: application/json;odata=verbose
- 请求体(JSON格式):
{ "parameters": { "__metadata": { "type": "SP.RecycleBinItemQuery" }, "RowLimit": 500, "IncludeAdminRecycleBinItems": true } }
这个方法会返回当前网站回收站里所有用户删除的项目,而不只是你自己的。
最后再确认下:确保你发起请求的账号确实是站点集管理员,而且请求时已经通过身份验证(比如Windows身份验证,因为是本地版SharePoint)。
备注:内容来源于stack exchange,提问作者Aina Dev
相关产品推荐
相关产品推荐

