1

我们正在使用 SharePoint 客户端对象模型 (CSOM) 和 REST/OData 端点来检索/管理 sharepoint 上的数据。

  1. 无论如何都可以获得有关对文件执行 MOVE 的用户的信息(例如,将文件从文件夹 A 移动到同一网站集中的文件夹 B)?当我在移动之前和之后使用此 REST API 调用时,作者和编辑器保持不变,即使完全不同的用户将文件从文件夹 A 移动到文件夹 B。SPChangeItem 似乎也没有任何成员具有此信息。

    https://{site_url}/_api/web/GetFileByServerRelativePath(DecodedUrl=@fileUrl)?$expand=Author,ListItemAllFields,ListItemAllFields/ParentList,ListItemAllFields/ParentList/ParentWeb&$select=UniqueId,Author/LoginName,Author/Email,Author/Id,Editor/LoginName,Editor/Email,Name,UserName,ServerRelativeUrl,MajorVersion,MinorVersion,Length,ListItemAllFields&@fileUrl={url_encoded_file_path}
    
  2. 在使用 REST API 时是否有登录用户?当我使用这个 REST API 调用时,返回的 Id 是 Bearer accesstoken 对应的用户。

    https://{site_url}/_api/Web/CurrentUser?$select=Id
    
4

1 回答 1

0

将文件移动到另一个文件夹时,包括作者/编辑者在内的元数据保持不变,改变的只是位置。这是设计的。

如果我们想知道执行此操作的用户,我们可以检查文件的版本事件,因为它会在移动文件时立即提示修改事件。

休息 API 端点:

_api/Web/GetFileByServerRelativePath('filepath')/VersionEvents

谢谢

于 2020-05-06T06:03:38.190 回答