使用图形api beta获取共享点管理中心中列出的所有根网站

时间:2017-04-26 09:16:10

标签: sharepoint graph outlook office365 microsoft-graph

我需要在图片enter image description here

中显示的共享点管理中心中列出的所有根网站

为此我使用Graph api,如下,

var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://graph.microsoft.com/beta/sharepoint/sites",
  "method": "GET",
  "headers": {
    "authorization": "Bearer token",
    "cache-control": "no-cache",
    "postman-token": "3116b007-e574-5ad4-aedd-3b35fbf76b61"
  }
}

$.ajax(settings).done(function (response) {
  console.log(response);
});

但它提供如下输出,

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#sharePoint/sites",
  "value": [
    {
      "createdDateTime": "2017-02-18T13:03:01.263Z",
      "description": "",
      "id": "2422c3a2-3c51-40f1-8483-5454aead43c4,412bb897-c754-460a-962d-db22893a1649",
      "lastModifiedDateTime": "2017-04-24T02:16:43Z",
      "name": "",
      "webUrl": "https://mps330124.sharepoint.com",
      "root": {},
      "siteCollection": {
        "hostname": "mps330124.sharepoint.com"
      },
      "siteCollectionId": "2422c3a2-3c51-40f1-8483-5454aead43c4",
      "siteId": "412bb897-c754-460a-962d-db22893a1649"
    }
  ]
}

如何使用 graph api beta

实现目标

4 个答案:

答案 0 :(得分:10)

在网站搜索端点上使用星号似乎可以正常工作

https://graph.microsoft.com/v1.0/sites?search=*

返回

{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#sites",
"value": [
    {
        "createdDateTime": "2017-09-15T01:11:50Z",
        "description": "Let's capture our thoughts in this subsite blog.",
        "id": "xyz.sharepoint.com,5a58bb09-1fba-41c1-8125-69da264370a0,5e9767b8-95bc-4bd1-aeb0-defabcdefabc",
        "lastModifiedDateTime": "0001-01-01T08:00:00Z",
        "name": "internalblogs",
        "webUrl": "https://xyz.sharepoint.com/internalblogs",
        "displayName": "Internal blog"
    },
    {   
        ...
    }]
}

答案 1 :(得分:2)

没有办法通过Microsoft Graph检索网站集的完整列表。该功能仅限于管理员"在SharePoint API中,尚未通过Microsoft Graph提供。

我们正在对Microsoft Graph的SharePoint Sites API进行一些更改,这些更改将在接下来的几周内推出,以便搜索网站/网站集列表,但我们仍然没有&# 39;计划通过Microsoft Graph提供枚举所有网站/网站集的功能。

观看Build 2017大会(5月10日至12日)周围的Change Log,了解我们的所有细节。

答案 2 :(得分:1)

现在似乎有办法通过以下请求获取顶级网站集列表:

pandas

以下页面记录了这一点(9月19日更新):https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/site_list

我自己的测试虽然没有任何成果,因为API返回GET https://graph.microsoft.com/beta/sites?select=siteCollection,webUrl&filter=siteCollection/root%20ne%20null 错误。另一种方法是使用Cannot enumerate sites查询参数(docs更新于9月20日):

search

但这仅为GET https://graph.microsoft.com/beta/sites?search=contoso&select=siteCollection,WebUrl&filter=siteCollection/root ne null :/ siteCollection提供了所有root的列表及其他sites的{​​{1}}(如默认值webUrl& siteCollection's),但不是它们所属的/sites的实际网址/主机名。虽然可以从/teams路径组件中提取。

答案 3 :(得分:0)

你得到的不是错误。

如果您使用网址https://graph.microsoft.com/beta/sharepoint/sites/2422c3a2-3c51-40f1-8483-5454aead43c4/sites关注siteCollectionId,则会获得该网站集中的网站列表。