为此我使用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
实现目标答案 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
,则会获得该网站集中的网站列表。