如何使用SharePoint 2013 REST API从当前主要版本(非草稿)获取页面标题

如何使用SharePoint 2013 REST API从当前主要版本(非草稿)获取页面标题,rest,sharepoint-2013,Rest,Sharepoint 2013,我正在使用SharePoint REST API _api/web/GetFileByServerRelativeUrl'/Pages/file1.aspx'/majorversion 要获取文件的主要版本,我还需要获取与该主要版本关联的页面标题。草案版本的标题与主要出版版本不同。 我一直在努力 _api/web/GetFileByServerRelativeUrl'/Pages/file1.aspx'/versionsmajorversion 或者_api/web/GetFileByServe

我正在使用SharePoint REST API

_api/web/GetFileByServerRelativeUrl'/Pages/file1.aspx'/majorversion

要获取文件的主要版本,我还需要获取与该主要版本关联的页面标题。草案版本的标题与主要出版版本不同。 我一直在努力

_api/web/GetFileByServerRelativeUrl'/Pages/file1.aspx'/versionsmajorversion

或者_api/web/GetFileByServerRelativeUrl'/Pages/file1.aspx'?$select=title,versions&$filter=IsCurrentVersion%20eq%20true

但是,与主版本相关的标题没有成功,查询只返回最新草稿版本的标题。
我还尝试使用“api/web/GetFileByServerRelativeUrl”“vti\U history/1536/Pages/file1.aspx”,但收到HTTP 500错误。有什么建议吗

您可以在中检查shawnadrockleonard共享的JS函数


谢谢你,李。即使它是通过从HTML中检索内容来工作的,是否还有其他通过api调用获取页面标题信息的方法?
function getListItemByVersionPage(listWebUrl, listId, listItemId, fieldName) {

    var glibvpdef = new jQuery.Deferred();

    var versionsUrl = listWebUrl + '/_layouts/versions.aspx?list=' + listId + '&ID=' + listItemId;

    jQuery.get(versionsUrl)
     .done(function (data) {

         var entries = [];
         var versionList = $(data).find('table.ms-settingsframe');
         if (typeof (versionList) !== typeof (undefined) && versionList !== null) {

             versionList.find('tbody > tr').each(function (i, trval) {
                 // pulls every 2 rows
                 if (i > 0 && (i - 1) % 2 == 0) {
                     try {
                         var verRow = $(this); //get version row
                         var versionLabel = verRow.find('td:first').html().trim();
                         var versionDateElement = verRow.find('table[ctxname=\"ctxVer\"] a'); // Date for modification
                         var versionUserElement = verRow.find('.ms-imnSpan a:nth-child(2)'); // User for Modification
                         if (versionLabel !== ""
                             && (versionDateElement !== null && versionDateElement.length > 0)
                             && (versionUserElement !== null && versionUserElement.length > 0)) {
                             var versionDate = versionDateElement.html().trim();
                             var versionUser = versionUserElement.html().trim();

                             var propsRow = verRow.next(); //get properties row
                             var properties = propsRow.find("table[role=\"presentation\"] tr").map(function (index, val) {

                                 var trproperty = jQuery(val);
                                 if (val.id.indexOf(fieldName) !== -1) {
                                     var entryProperties = {
                                         id: val.id,
                                         title: trproperty.find("td:first").html().trim(),
                                         FieldValue: trproperty.find("td:nth-child(2)").html().trim()
                                     };
                                     return (entryProperties);
                                 }
                             });
                             var entry = {
                                 Label: versionLabel,
                                 Modified: versionDate,
                                 Editor: versionUser,
                                 vprops: properties
                             };
                             entries.push(entry);
                         }
                     } catch (error) {
                         console.log("parse error " + error.message);
                     }
                 }
             });
         }
         glibvpdef.resolve(entries);
     })
    .fail(function (sender, args) {
        glibvpdef.reject(sender, args);
    });

    return glibvpdef.promise();
}