如何通过Microsoft Graph API一次性获取系统中站点的总数?
获取Microsoft Graph API中站点总数的可行方法
Microsoft Graph的/sites端点确实不支持通过$count=true直接返回站点总数,搜索API也无法搭配$count参数获取计数。目前没有一次性直接获取总数的官方方法,但可以通过以下两种方式统计:
分页遍历手动统计
利用$top参数(最大支持999)分批拉取站点,每次请求后检查响应中的@odata.nextLink字段,直到没有下一页为止,累加每一页的站点数量得到总数。
第一页请求示例:GET https://graph.microsoft.com/v1.0/sites?$select=name&$top=999后续每次请求使用返回的
@odata.nextLink地址,直到响应中不再包含该字段,即完成所有站点的拉取统计。借助Microsoft Graph PowerShell模块自动统计
如果允许使用PowerShell,可以通过模块自动处理分页逻辑,无需手动处理nextLink:Connect-MgGraph -Scopes "Sites.Read.All" $sites = Get-MgSite -All -Property Name $totalCount = $sites.Count Write-Host "站点总数:$totalCount"其中
-All参数会自动遍历所有分页,拉取全部站点后直接统计数量。
注意事项
- 统计效率取决于系统内站点总数,站点越多耗时越长。
- 操作前需确保账号或应用已获得
Sites.Read.All权限(委托权限或应用权限均可)。
内容的提问来源于stack exchange,提问作者Wajih Siddiqui
相关产品推荐
相关产品推荐

