获取列表的唯一ID

时间:2014-09-27 12:52:17

标签: rest sharepoint ms-office office365 onedrive

如何获取List的UniqueId?(比如文档列表)

对于根级别项目(意味着此项目位于“文档”列表的第一级),当我获得 ParentUniqueId 时,它会为我提供列表的 UniqueId 在于。 现在我的问题是我无法获得列表的 UniqueId (当我得到它的元数据时),这样我可以区分这个 ParentUniqueId 是我的列表的 UniqueId (在本例中为文档列表)或 UniqueId 表示此项目所在的其他项目(文件夹中文件夹或文件夹中的文件。)

非常感谢!

1 个答案:

答案 0 :(得分:1)

关键是ParentUniqueId属性存储父容器ID,如果List Item容器始终文件夹

示例1:

假设文档库的结构如下:

Documents (library)
   |
   Document.docx (document item with id = 1)

然后查询:

/_api/Web/Lists/getByTitle('Documents')/items(1)/FieldValuesAsText?$select=ParentUniqueId

将返回SP.List.rootFolder的值。

  

注意:返回的值对应Folder.UniqueId对应List.Id

以下查询演示了如何检索文档库RootFolder.UniqueId

/_api/Web/Lists/getByTitle('Documents')/rootfolder/UniqueId

/_api/Web/GetFolderByServerRelativeUrl('Shared Documents')/UniqueId

示例2

假设文档库的结构如下:

Documents (library)
   |
   Orders (folder)
      |
      Document.docx (document item with id = 2)

然后查询:

/_api/Web/Lists/getByTitle('Documents')/items(2)/FieldValuesAsText?$select=ParentUniqueId

将返回Folder.UniqueId文件夹的Orders值。

检索Orders文件夹UniqueId属性的相应查询:

/_api/Web/GetFolderByServerRelativeUrl('Shared Documents/Orders')/UniqueId