如何从SharePoint Drive项中获取对应的SharePoint列表ID
解决方法
可以直接从Drive Item的返回数据中提取到对应的SharePoint List ID,无需额外开发复杂逻辑,具体操作如下:
方法1:直接从搜索返回的Drive Item字段提取
你调用GET /drives/{drive-id}/root/search(q='{search-text}')接口拿到Drive Item结果后,直接定位到parentReference字段,其中的listId属性就是你需要的SharePoint列表ID,同时还能拿到对应的站点IDsiteId。
示例返回结构的关键片段参考:
{ "id": "xxx-drive-item-id", "name": "目标文件.docx", "parentReference": { "driveId": "xxx-drive-id", "driveType": "documentLibrary", "siteId": "xxx-site-id", "listId": "xxx-target-list-id" } }
方法2:调用专属接口查询关联列表信息
如果需要同时获取列表项的完整属性用于后续更新,可以调用如下接口直接查询Drive Item关联的列表项:
GET /drives/{drive-id}/items/{drive-item-id}/listItem
接口返回结果中会直接包含所属列表IDlistId、站点IDsiteId以及列表项自身的ID,可直接用于后续的列表项更新操作。
注意事项
- 只有存储在SharePoint文档库中的Drive Item才会返回
listId字段,个人OneDrive中的文件没有关联SharePoint列表,不会返回该属性。 - 拿到
siteId、listId和列表项ID之后,就可以直接调用标准的SharePoint列表项更新接口完成操作。
内容的提问来源于stack exchange,提问作者jerry_k
相关产品推荐
相关产品推荐

