1

我需要使用rest api获取当前登录到SharePoint Online的用户的修改/创建文档。我能够获取所有创建的文档,但是,我错过了检索当前登录用户的逻辑,并将其添加到其余查询中。我的代码: 使用SharePoint Online搜索REST API获取当前用户创建的文档

<script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.9.1.min.js"></script> 
<div id="mydocuments"></div> 
<script type="text/javascript"> 
var startrow = '&startrow=0' 
var rowlimit = '&rowlimit=3' 

var userName = ""; 

var searchQuery = _spPageContextInfo.webAbsoluteUrl + "/_api/search/query?&sourceid='e7ec8cee-ded8-43c9-beb5-436b54b31e84'" + "&refinementfilters='displayauthor:equals(\"" + userName + "\")'" 

$.ajax({ 
    url: searchQuery, 
    method: 'GET', 
    headers: { 
     'Accept': 'application/json; odata=verbose' 
    }, 
    success: onQuerySuccess, 
    error: onQueryFail 
}); 

function onQuerySuccess(data) { 
    var items = []; 

    items.push("<span id='cardtitle'>" + 'My documents ' + "</span>"); 
    if (data.d.query.PrimaryQueryResult.RelevantResults.Table.Rows.results.length == 0) { 
     items.push("<p>" + 'No results were found' + "</p>"); 
    } else { 
     $(data.d.query.PrimaryQueryResult.RelevantResults.Table.Rows.results).each(function() { 
      var path = keyValue(this, 'Path'); 
      var title = keyValue(this, 'Title'); 
      items.push('<li id="' + 'listContent' + '">' + '<img src="/_layouts/15/images/icdocx.png" class="projects" />' + ' <a href="' + path + '">' + title + '</a>' + '</li>'); 
     }); 

     items.push("</ul>"); 
     $("#mydocuments").html(items.join('')); 
    } 
} 

function keyValue(row, fldName) { 
    var ret = null; 
    $.each(row.Cells.results, function() { 
     if (this.Key == fldName) { 
      ret = this.Value; 
     } 
    }); 
    return ret; 
} 

function onQueryFail(sender, args) { 
    alert('Query failed. Error:' + args.get_message()); 
} 

</script> 

所以目前我无法弄清楚如何将当前用户名添加到该代码。

回答

相关问题