0

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

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

欢迎任何建议。干杯

4

2 回答 2

0

我认为您应该使用“GUID”而不是“UniqueId” 查看此链接并找到这部分文档。

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

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 标记

于 2021-05-13T12:05:54.707 回答
0

您可以使用以下方式检索文件 uniqur id

  sp.web
    .lists
    .getByTitle("Documents")
    .items
    .getById(80)
    .file
    .get()
    .then((file)=>{
      console.log(file.UniqueId);
    })
于 2021-05-14T06:25:54.827 回答