如何通过REST API获取SharePoint文件的检出状态及锁定用户信息
问题背景
我们通常使用以下两个接口执行文件检出、检入操作:
- 检出接口:
http://<站点URL>/_api/web/GetFileByServerRelativeUrl('/文件夹路径/文件名')/CheckOut() - 检入接口:
http://<站点URL>/_api/web/GetFileByServerRelativeUrl('/文件夹路径/文件名')/CheckIn(...)
如果文件已经被检出/未处于检出状态时调用上述接口,会返回HTTP 423错误,我们可以在调用操作接口前先查询文件状态规避该问题。
具体查询方案
你可以直接查询文件的元数据属性获取检出状态与锁定用户信息,不需要调用操作类接口:
- 构造查询请求地址:
http://<站点URL>/_api/web/GetFileByServerRelativeUrl('<文件服务器相对路径>')?$select=CheckOutType,CheckedOutByUser&$expand=CheckedOutByUser
注意替换请求中的<站点URL>与<文件服务器相对路径>为你的实际业务值
- 解析返回结果的核心字段:
- CheckOutType 为状态枚举值:
- 0:文件未被检出,可以正常调用检出接口
- 1:文件已被离线检出
- 2:文件已被在线检出
- 当CheckOutType不等于0时,
CheckedOutByUser字段会返回锁定用户的完整信息,包括显示名、登录账号、邮箱等。
内容的提问来源于stack exchange,提问作者Andreas
相关产品推荐
相关产品推荐

