使用搜索其余api(SharePoint列表)显示列表附件的URL和标题 [英] display list attachment url and title using search rest api(SharePoint List)

查看:98
本文介绍了使用搜索其余api(SharePoint列表)显示列表附件的URL和标题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用下面的代码,我可以在路径中获取提到的列表的搜索结果,

如何基于标题"列或任何其他元数据列字段显示附件URL,什么是搜索标准api以及要传递的结果作为附件URL和标题

<!DOCTYPE html PUBLIC-//W3C//DTD XHTML 1.0 Strict//EN"; "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"

< html xmlns ="http://www.w3.org/1999/xhtml">

< head>
< script type ="文本/javascript" src =" https://share.novartis.net/sites/Test/TESTING/SiteAssets/Testing/jquery-1.12.4.min.js"></script>
< script type ="文本/javascript">
var html; 
函数searchAppWeb(){ 

    //从文本框获取搜索字词
    var searchTerm = $(#txtSearchTerm").val(); 

 调试器;
    //REST API查询网址
    var queryUrl = _spPageContextInfo.siteAbsoluteUrl +"/_api/search/query?querytext ='" + searchTerm  +"+ path:\" https://test.test1.net/sites/Test/TESTING/Lists/ListOC \'"; 

    //清空字符串
    html ="; 

    //进行ajax调用
    $.ajax({ 
        url:queryUrl, 
       方法:"GET", 
       标头:{"Accept":"application/json; odata = verbose" }, 
       成功:onSearchSuccess, 
       错误:onSearchError 
    }); 
                                } 

函数onSearchSuccess(data){ 
    //JSON对象包含两个具有搜索结果的元素
  /n/1. PrimaryQueryResult 
    //2. SecondaryQueryResults(将文档在Host Web上分组时)

    //获取PrimaryQueryResult并以HTML表格格式呈现
    html =< table>"; 

    var primaryQueryResult = data.d.query.PrimaryQueryResult.RelevantResults.Table.Rows.results; 

    if(primaryQueryResult!= null&& primaryqueryQuery!= undefined){ 
        for(var iPrimaryResultCounter = 0; iPrimaryResultCounter< primaryQueryResult.length; iPrimaryResultCounter ++){ 
            html + =< tr>< td>"; 
            html + = primaryQueryResult [iPrimaryResultCounter] .Cells.results [3] .Value; 
            html + =</td>< td>< a href = \" 
            html + = primaryQueryResult [iPrimaryResultCounter] .Cells.results [6] .Value; 
          html + ="\">" + primaryQueryResult [iPrimaryResultCounter] .Cells.results [6] .Value +</a></td>< tr>"; 
       } 
   } 

    //获取SecondaryQueryResults并继续以HTML表格格式呈现它
    var secondaryResult = data.d.query.SecondaryQueryResults; 
    if(data.d.query.SecondaryQueryResults!= null&& data.d.query.SecondaryQueryResults!= undefined){ 
        for(var iSecondaryResultCounter = 0; iSecondaryResultCounter< data.d.query.SecondaryQueryResults.results.length; iSecondaryResultCounter ++){ 
          var resultBlock = data.d.query.SecondaryQueryResults.results [iSecondaryResultCounter] .RelevantResults.Table.Rows.results; 
          for(var iResults = 0; iResults< resultBlock.length; iResults ++){ 
              html + =<< tr>< td>"; 
                html + = resultBlock [iResults] .Cells.results [3] .Value; 
                html + =</td>< td>< a href = \" 
                html + = resultBlock [iResults] .Cells.results [6] .Value;
                html + ="\">" + resultBlock [iResults] .Cells.results [6] .Value +</a></td< tr>"; 
            } 
        } 
    } 
    html + =</table>" ;; 
    $(#SearchResultsDiv").append(html); 


函数onSearchError(err){ 
    alert(JSON.stringify(err)); 


</script>
</head>

< body>

<!-App Web搜索-> 
< div id ="searchDiv"" 
< b>搜索</b> 
<输入类型=文本"; id =" txtSearchTerm" /> 
<输入类型=按钮"; id ="btnSearch" value =搜索" onclick ="searchAppWeb()"; /> 
</div> 
< div id ="SearchResultsDiv"></div> 


</body>

</html>

                              

解决方案

Hi,

我们可以使用以下REST URI获取列表项的附件url和基于列表项标题"字段的标题.

 http://sp2013/sites/team/_api/web/lists/getbytitle('CustomList22')/items?


select =附件,附件文件和


expand = AttachmentFiles&


Hi,

Using below code I was able to get search results for the mentioned list in path,

How can I display attachment url based on Title column or any other metadata column field,what needs to be the search rest api and results to be passed for attachment url and Title

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<script type="text/javascript" src="https://share.novartis.net/sites/Test/TESTING/SiteAssets/Testing/jquery-1.12.4.min.js"></script>
<script type="text/javascript">
var html; 
function searchAppWeb() { 

    //Get the Search Term from textbox 
    var searchTerm = $("#txtSearchTerm").val(); 

  debugger;
    //REST API query URL 
    var queryUrl = _spPageContextInfo.siteAbsoluteUrl + "/_api/search/query?querytext='" + searchTerm  + "+path:\"https://test.test1.net/sites/Test/TESTING/Lists/ListOC\"'"; 

    //Empty the string 
    html = ""; 

    //Make the ajax call 
   $.ajax({  
        url: queryUrl,  
       method: "GET",  
        headers: { "Accept": "application/json; odata=verbose" },  
        success: onSearchSuccess,  
        error: onSearchError 
    }); 
                                } 

function onSearchSuccess(data){ 
    // JSON object contains two elements which have search results 
   //1. PrimaryQueryResult 
    //2. SecondaryQueryResults (When documents are grouped on Host Web) 

    //Get PrimaryQueryResult and Render it in HTML Table format 
   html = "<table>"; 

    var primaryQueryResult = data.d.query.PrimaryQueryResult.RelevantResults.Table.Rows.results; 

    if (primaryQueryResult != null && primaryQueryResult != undefined) { 
       for (var iPrimaryResultCounter = 0; iPrimaryResultCounter < primaryQueryResult.length; iPrimaryResultCounter++) { 
           html += "<tr><td>"; 
            html += primaryQueryResult[iPrimaryResultCounter].Cells.results[3].Value; 
            html += "</td><td><a href=\"" 
            html += primaryQueryResult[iPrimaryResultCounter].Cells.results[6].Value; 
          html += "\">" + primaryQueryResult[iPrimaryResultCounter].Cells.results[6].Value + "</a></td><tr>"; 
       } 
   } 

    //Get SecondaryQueryResults and continue rendering it in HTML Table format 
   var secondaryResult = data.d.query.SecondaryQueryResults; 
    if (data.d.query.SecondaryQueryResults != null && data.d.query.SecondaryQueryResults!=undefined) { 
        for (var iSecondaryResultCounter = 0; iSecondaryResultCounter < data.d.query.SecondaryQueryResults.results.length; iSecondaryResultCounter++) { 
          var resultBlock = data.d.query.SecondaryQueryResults.results[iSecondaryResultCounter].RelevantResults.Table.Rows.results; 
          for (var iResults = 0; iResults < resultBlock.length; iResults++) { 
              html += "<tr><td>"; 
               html += resultBlock[iResults].Cells.results[3].Value; 
                html += "</td><td><a href=\"" 
                html += resultBlock[iResults].Cells.results[6].Value; 
                html += "\">" + resultBlock[iResults].Cells.results[6].Value + "</a></td><tr>"; 
            } 
        } 
    } 
    html += "</table>"; 
   $("#SearchResultsDiv").append(html); 


function onSearchError(err){ 
    alert(JSON.stringify(err)); 


</script>
</head>

<body>

<!-- App Web Search--> 
<div id="searchDiv"> 
<b>Search For</b> 
<input type="text" id="txtSearchTerm" /> 
<input type="button" id="btnSearch" value="Search" onclick="searchAppWeb()" /> 
</div> 
<div id="SearchResultsDiv"></div> 


</body>

</html>

                                 

解决方案

Hi,

We can use the following REST URI to get the list item attachment url and title base on list item Title field.

http://sp2013/sites/team/_api/web/lists/getbytitle('CustomList22')/items?


select=Attachments,AttachmentFiles&


expand=AttachmentFiles&


这篇关于使用搜索其余api(SharePoint列表)显示列表附件的URL和标题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆