热通过给定的 ItemId 检索 Sparepoint Guid

Hot to retrieve the Sparepoint Guid by given ItemId

我想知道是否有办法使用 pnpjs 从给定的 ItemId(例如 https://xyz.sharepoint.com/path/to/documents/image.jpg?ItemID=1969&ItemVersion=5.0 中的查询参数中的 ItemID=1969)检索 Guid (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)在nodejs下。 文档没有描述如何做到这一点,但可能有一种方法可以使用“后门”来实现这一点。 我想做类似的事情:

sp.web.
  .getById(1969)
  .get()
  .then((file) => {
     doSomethingWith(file.UniqueId); //UniqueId is supposed to be the guid (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
  })
...

欢迎提出任何建议。 干杯

我认为你应该使用“GUID”而不是“UniqueId” 看到这个 link 并找到文档的这一部分。

检索特定列表项 以下示例显示如何检索特定列表项。

HTTP 获取

https://{site_url}/_api/web/lists/GetByTitle('Test')/items({item_id})
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=verbose"

以下 XML 显示了请求 XML 内容类型时返回的列表项属性的示例。

XML

<content type="application/xml">
  <m:properties>
    <d:FileSystemObjectType m:type="Edm.Int32">0</d:FileSystemObjectType>
    <d:Id m:type="Edm.Int32">1</d:Id>
    <d:ID m:type="Edm.Int32">1</d:ID>
    <d:ContentTypeId>0x010049564F321A0F0543BA8C6303316C8C0F</d:ContentTypeId>
    <d:Title>an item</d:Title>
    <d:Modified m:type="Edm.DateTime">2012-07-24T22:47:26Z</d:Modified>
    <d:Created m:type="Edm.DateTime">2012-07-24T22:47:26Z</d:Created>
    <d:AuthorId m:type="Edm.Int32">11</d:AuthorId>
    <d:EditorId m:type="Edm.Int32">11</d:EditorId>
    <d:OData__UIVersionString>1.0</d:OData__UIVersionString>
    <d:Attachments m:type="Edm.Boolean">false</d:Attachments>
    <d:GUID m:type="Edm.Guid">eb6850c5-9a30-4636-b282-234eda8b1057</d:GUID>
  </m:properties>
</content>

如您所见,返回值包含 GUID 标记

您可以使用以下方式获取文件唯一标识

  sp.web
    .lists
    .getByTitle("Documents")
    .items
    .getById(80)
    .file
    .get()
    .then((file)=>{
      console.log(file.UniqueId);
    })