Microsoft 365中的SharePoint管理员可以使用管理中心创建团队网站和通信网站。
此外,个人用户可以拥有个人网站(也称为我的网站(
使用Microsoft Graph.NET SDK,我可以检索所有网站,如下所示:-
await client.Sites.Request().GetAsync();
但是,这似乎包括所有团队、个人和通信站点。是否有方法将请求限制为仅一种类型的网站,或者检测查询返回的每个网站的类型?我在文件中找不到任何关于这方面的信息。
编辑:如果有办法通过SharePoint CSOM获取这些信息,我也会对感兴趣
不幸的是,到目前为止还不可用,但已经发出了用户声音。请投赞成票,以便将来可以实现此功能。
我不知道它是否能帮助你,但我找到了一个如何区分团队/沟通网站和个人网站的变通方法
个人网站在WebUrl字段中包含字符串"my.sharepoint.com/personal/"
,然后在您进行调用后:var sites = await client.Sites.Request().GetAsync();
您可以使用此筛选器仅检索个人网站:var personalSites = sites.Where(s => s.WebUrl.Contains("my.sharepoint.com/personal/"))
(微软不允许直接对此请求使用过滤器,所以这就是我在获取所有网站后使用过滤器的原因。(