如何通过MS Graph REST API获取SharePoint 365库的版本控制设置?
没问题,我来帮你搞定用MS Graph获取SharePoint文档库版本控制设置的事儿,尤其是你关注的强制签出选项,顺便也把全量设置的获取方法一并说清楚~
使用MS Graph API获取文档库版本控制设置
核心请求端点
要获取目标库的版本控制相关配置,你可以调用lists端点,指定站点ID和库ID即可:
GET https://graph.microsoft.com/v1.0/sites/{site-id}/lists/{list-id}?$select=enableCheckout,enableVersioning,enableMinorVersions,majorVersionLimit,minorVersionLimit,draftVersionVisibility
参数说明
{site-id}:可以是站点的唯一ID,或者用{domain-name}:/{site-relative-path}的格式(比如contoso.sharepoint.com:/sites/Marketing/){list-id}:文档库的唯一ID,你可以通过调用GET https://graph.microsoft.com/v1.0/sites/{site-id}/lists获取站点下所有库的ID列表$select:可选但推荐,用来指定返回的字段,避免获取冗余数据,确保拿到所有版本控制相关配置
关键字段对应UI设置
返回的JSON响应里,这些字段正好对应你提到的「Versioning Settings」页面的选项:
- 强制签出:
enableCheckout(布尔值),true代表开启「要求文档签出」 - 是否启用版本控制:
enableVersioning(布尔值),对应「创建主要版本」开关 - 是否启用次要版本:
enableMinorVersions(布尔值),对应「创建次要(草稿)版本」开关 - 主要版本保留数量:
majorVersionLimit(数字),对应「保留的主要版本数」 - 次要版本保留数量:
minorVersionLimit(数字),对应「保留的次要版本数(如果启用)」 - 草稿版本可见范围:
draftVersionVisibility(枚举值),比如authors代表仅作者可见,approved代表仅已批准用户可见
示例响应片段
{ "enableCheckout": true, "enableVersioning": true, "enableMinorVersions": true, "majorVersionLimit": 50, "minorVersionLimit": 10, "draftVersionVisibility": "authors" }
权限要求
确保你的应用已经获取了合适的权限:
- 只读访问:
Sites.Read.All - 读写访问(如果需要修改设置):
Sites.ReadWrite.All
如果你需要测试,可以用curl发送请求,记得带上有效的访问令牌:
curl --request GET \ --url 'https://graph.microsoft.com/v1.0/sites/contoso.sharepoint.com:/sites/Marketing/lists/00000000-0000-0000-0000-000000000000?$select=enableCheckout,enableVersioning,enableMinorVersions,majorVersionLimit,minorVersionLimit,draftVersionVisibility' \ --header 'Authorization: Bearer {your-access-token}'
内容的提问来源于stack exchange,提问作者Nikolay Shulga
相关产品推荐
相关产品推荐

