无法在SharePoint Rest API中获取FileLeafRef属性

时间:2018-08-15 12:03:05

标签: rest sharepoint sharepoint-online

您好,我们正在尝试使用REST API检索“网站页面”中页面的链接URL,问题是我们找不到Name FileLeafRef属性值。FileLeafReaf= null。

enter image description here

enter image description here

<html>
    <head>
        <script src="proxy.jsp"></script>
    </head>
</html>

谢谢。

3 个答案:

答案 0 :(得分:1)

要检索FileLeafRef属性,需要在$select查询选项中明确指定 ,例如:

/_api/web/lists/getbytitle('Site Pages')/items?$select=FileLeafRef

作为替代选项,也可以通过File资源进行检索,例如:

/_api/web/lists/getbytitle('Site Pages')/items?$select=File/Name&$expand=File 

答案 1 :(得分:1)

FileLeafRef属性仅获取文件名。如果要获取文件URL,则需要使用文件的ServerRelativeUrl属性。

使用此的REST API。

/_api/web/lists/getbytitle('Site%20Pages')/items?$select=File/ServerRelativeUrl&$expand=File

答案 2 :(得分:1)

SharePoint将文件的完整URL存储在隐藏列EncodedAbsUrl中。

因此,您可以明确要求它为:

/_api/web/lists/getbytitle('Site Pages')/items?$select=*,EncodedAbsUrl

之后,您可以按如下所示直接使用它,请注意引号:

var items = data.d.results;

$.each(items, function(index, value) {  
//Append results to DIV
    $("#lstGlobalNews").append("<tr><td class='ms-vb2'><a href="+value.EncodedAbsUrl+" target='_blank'>"+value.Title+"</a></td><td class='ms-vb2' style='text-align: right;'>"+fn_FormatDate(value.Date_x0020_Posted)+"</td></tr>");
});