如何使用Graph API在SharePoint列表的文件夹中创建项目?
首先明确:该操作是支持的,SharePoint非文档库列表中的文件夹本质是特殊类型的列表项(ContentTypeId为0x012002),可以通过Graph API创建归属该文件夹的子项,你之前使用的端点不正确导致失败。
正确的实现方法
使用列表项创建端点,在请求体中指定父文件夹的关联信息:
- 请求端点:
POST https://graph.microsoft.com/v1.0/sites/{site-id}/lists/{list-id}/items - 请求方式:POST
- 示例请求体(通过父文件夹的列表项ID关联):
{ "fields": { "Title": "新的列表项目", "ParentFolderItemId": "{folder-item-id}" // 替换为目标文件夹对应的列表项ID } } - 替代方案(通过文件夹的服务器相对路径关联):
{ "fields": { "Title": "新的列表项目", "FolderPath": "/sites/你的站点名/Lists/目标列表名/目标文件夹名" } }
你之前的端点为什么无效
/sites/{site-id}/drive:这个端点仅针对文档库(文档库是具备Drive属性的特殊列表),非文档库列表没有对应的Drive资源,所以无法用这个端点操作。https://graph.microsoft.com/v1.0/sites/{site id}/lists/{list id}/items/{folder id}:这个端点是用来获取或更新文件夹本身这个列表项的,并非创建该文件夹下的子项,因此无法实现你的需求。
验证创建结果
可以通过以下查询获取目标文件夹下的所有子项,确认创建是否成功:
GET https://graph.microsoft.com/v1.0/sites/{site-id}/lists/{list-id}/items?$filter=ParentFolderItemId eq '{folder-item-id}'&$select=fields
内容的提问来源于stack exchange,提问作者Сергей
相关产品推荐
相关产品推荐

