2014-08-29 88 views

回答

1

不幸的是,使用REST和JSOM都无法实现。

因此,您在问题中正确提及的解决方法是利用SharePoint Search Query REST/JSOM API并指定查询contentclass:sts_site返回网站结果。

下面的REST例子表明:

function searchSites(webUrl,success, failure) { 
    var url = webUrl + "/_api/search/query?querytext='contentclass:sts_site'"; 
    $.ajax({ 
     url: url, 
     method: "GET", 
     headers: { "Accept": "application/json; odata=verbose" }, 
     success: function (data) { 
      success(data.d.query); 
     }, 
     error: function (data) { 
      failure(data); 
     } 
    }); 
} 


//print sites info 
searchSites(_spPageContextInfo.webAbsoluteUrl, 
    function(query){ 
     var resultsCount = query.PrimaryQueryResult.RelevantResults.RowCount; 
     for(var i = 0; i < resultsCount;i++) { 
      var row = query.PrimaryQueryResult.RelevantResults.Table.Rows.results[i]; 
      var siteUrl = row.Cells.results[6].Value; 
      console.log(JSON.stringify(siteUrl)); 
     } 
    }, 
    function(error){ 
    console.log(JSON.stringify(error)); 
    } 
); 
+0

它不工作,对客户端凭证流(APP级权限)什么是使用客户端凭证流获得访问令牌的解决办法吗? (意思是应用程序级权限)sharepoint.stackexchange.com/questions/150112/... – 2015-07-30 07:36:46

相关问题