Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

v-rzhou-msft

如何从 SharePoint 获取版本历史记录

场景:

每次我们在 SharePoint 中更新文件时,SharePoint 都会更新文件版本。我们可以在版本历史记录中找到文件版本。

vrzhoumsft_6-1724124702233.png

但是,当我们想使用 SharePoint 在线列表连接器获取所有版本历史记录时,版本列将显示为空。

vrzhoumsft_7-1724124715891.png

vrzhoumsft_8-1724124740788.png

虽然我们可以通过展开 File 字段中的 UIVersionlabel 找到版本,但它只会显示最新版本。 

vrzhoumsft_9-1724124750002.png

 

在这里,我将向您展示如何通过 Power Query 和 REST API 获取所有版本历史记录。 

方法: 

操作步骤如下: 

1. 我们需要在 Power Query 编辑器中构建一个查询以使用 SharePoint API。
右键单击查询 —— 构建空白查询 —— 将以下 M 代码粘贴到高级编辑器中。

 

let 
 
    Source = (VersionsRelevantSharePointListName as text, VersionsRelevantSharePointLocation as text, VersionsRelevantItemID as number) => let 
 
        Source = Xml.Tables(Web.Contents(Text.Combine({ 
 
    VersionsRelevantSharePointLocation, 
 
    "/_api/web/Lists/getbytitle('", 
 
    VersionsRelevantSharePointListName , 
 
    "')/items(", 
 
    Text.From(VersionsRelevantItemID), 
 
    ")/versions"} 
 
    ))), 
 
        entry = Source{0}[entry], 
 
        #"Removed Other Columns2" = Table.SelectColumns(entry,{"content"}), 
 
        #"Expanded content" = Table.ExpandTableColumn(#"Removed Other Columns2", "content", {"http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"}, {"content"}), 
 
        #"Expanded content1" = Table.ExpandTableColumn(#"Expanded content", "content", {"properties"}, {"properties"}), 
 
        #"Expanded properties" = Table.ExpandTableColumn(#"Expanded content1", "properties", {"http://schemas.microsoft.com/ado/2007/08/dataservices"}, {"properties"}) 
 
    in 
 
        #"Expanded properties" 
 
in 
 
Source 

 

如图所示:

vrzhoumsft_10-1724124778245.png

 

2. 然后我们通过 SharePoint Online列表连接器连接到 SharePoint 并返回到 “源” 步骤。

vrzhoumsft_11-1724124818639.png

由于我们将文件上传到 SharePoint 的 文档 字段中,因此我们需要的所有值都在此字段中。所以我们只需要保留源中的文档字段。

vrzhoumsft_12-1724124846967.png

将Items按照Id展开。我在文档中有两个文件,所以最大项目 ID 是 2。

vrzhoumsft_13-1724124863906.png

在我们调用自定义函数之前,我们需要调节数据源的隐私级别 

vrzhoumsft_14-1724124873642.png

这里数据源的隐私级别是组织级别的。否则我们的调用步骤会显示错误 

vrzhoumsft_15-1724124905849.png

然后我们将在从 SharePoint 获取的表中使用调用自定义函数 

vrzhoumsft_16-1724124915062.png

调用自定义函数如下,在函数查询中选择我们之前构建的查询。
第一个框我们需要输入 SharePoint 列表名称,这里我将文件上传到 Documents (文档)中 
第二个框我们需要输入 SharePoint 站点的链接 
最后一个框我们选择列名并选择 Item.ID 列。 

vrzhoumsft_17-1724124925214.png

点击确定并通过“属性”展开“查询1”。然后通过“版本标签”展开“属性”。 
结果如下。我们从 SharePoint 列表中获取了文件的所有版本历史记录

vrzhoumsft_18-1724124934981.png

希望这篇文章能帮助您解决类似的问题 

 

作者: Rico Zhou

审稿人: Ula Huang, Kerry Wang