什么是REST端点URL以获取Sharepoint中的网站集列表?

时间:2014-08-29 13:26:59

标签: rest sharepoint

如果我访问Sharepoint 2013网站,请点击管理员 - > Sharepoint,您将看到网站集列表(链接为https://somename-admin.sharepoint.com/_layouts/15/online/SiteCollections.aspx

检索此网站集列表的REST端点URL是什么?

我正在尝试_api / search / query?querytext ='contentclass:sts_site'或_api / search / query?querytext ='contentclass:sts_web',但它没有给出整个列表......

1 个答案:

答案 0 :(得分: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));
  }
);