使用Graph API在SharePoint指定子文件夹中创建文档集的方法咨询
你仅需调整原有步骤中创建文件夹的请求路径,其余逻辑和根目录创建文档集完全一致,调整后的完整实现流程如下:
步骤1:获取文档库的Drive Id(逻辑不变)
调用接口:
GET https://graph.microsoft.com/v1.0/sites/${siteId}/lists/${listId}?$expand=drive
步骤2:在指定子文件夹下创建普通文件夹(核心调整点)
有两种请求路径可选:
方式1:通过父文件夹路径直接调用(无需提前查父文件夹ID)
如果需要在库根目录下的documents文件夹内创建新文件夹,请求路径修改为:
POST https://graph.microsoft.com/v1.0/drives/${library.drive.id}/root:/documents:/children
请求体保持原有逻辑不变:
{ "name": ${folderName}, // 本示例中填写billing "folder": {} }
路径规则说明:格式为
root:/<父文件夹相对库根的完整路径>:/children,如果父文件夹层级更深,例如要在documents/finance下创建,对应路径写为root:/documents/finance:/children即可。
方式2:通过父文件夹ID调用
如果已经提前获取到父文件夹(本示例为documents)的Drive Item ID,请求路径修改为:
POST https://graph.microsoft.com/v1.0/drives/${library.drive.id}/items/${parentFolderId}/children
请求体和方式1完全一致。
步骤3:获取新建文件夹对应的SharePoint项ID(逻辑不变)
调用接口:
GET https://graph.microsoft.com/v1.0/sites/${siteId}/drives/${library.drive.id}/items/${folder.id}?expand=sharepointids
步骤4:将普通文件夹转换为目标文档集(逻辑不变)
调用PATCH接口:
PATCH https://graph.microsoft.com/v1.0/sites/${siteId}/lists/${listId}/items/${sharepointIds.listItemId}
请求体保持原有逻辑不变:
{ "contentType": { "id": "content-type-id-of-the-document-set" }, "fields": {} }
后续你要在billing文档集下创建年/月/日层级的文件夹存放文件,直接调用Graph API的普通创建文件夹接口即可,文档集本身支持作为普通文件夹承载子文件和子文件夹,无需额外特殊处理。
内容的提问来源于stack exchange,提问作者davidvera
相关产品推荐
相关产品推荐

