如何区分个人站点和 OneDrive 站点类型

How to distinguish between personal site and OneDrive site types

我用

public virtual SPOSitePropertiesEnumerable GetSitePropertiesFromSharePointByFilters(SPOSitePropertiesEnumerableFilter speFilter);

检索 SharePointOnline 网站的函数:

    do
{
    sitesEnumerable = tenant.GetSitePropertiesFromSharePointByFilters(new SPOSitePropertiesEnumerableFilter
    {
        IncludePersonalSite =  PersonalSiteFilter.Include ,
        IncludeDetail = false,
        StartIndex = nextIndex,
    });
    context.Load(sitesEnumerable, se => se.NextStartIndex,
                                  se => se.NextStartIndexFromSharePoint,
                                  se => se.Include(s => s.Url, s => s.Status, s => s.Template, s => s.Lcid,s => s.Title,s => s.HasHolds));
    context.ExecuteQuery();

    foreach (var site in sitesEnumerable)
    {
        //if site is OD site then 
        //  ProcessAsODSite()
        //else
        //  ProcessAsRegularSPOSite()
    }
}while (nextIndex != null);

通过这种方式,OneDrive 站点与常规站点一起检索,没有特殊顺序。
我想以不同方式处理 OneDrive 网站,然后我以不同方式处理 OneDrive 网站,然后我正在处理 SPO 常规网站。
我如何区分 OneDrive 网站和常规 SPO 网站?

使用SitePrioerties.Template 属性 来区分站点类型。 一个驱动器的 SPSPERS 经典团队网站的 STS GROUP 适用于现代团队网站 用于通信站点的 SITEPAGEPUBLISHING 等等

您也可以使用 SPOSitePropertiesEnumerableFilter.Template

进行预过滤以获得一种结果