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

时间:2018-11-21 15:52:39

标签: sharepoint-online csom

我使用

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网站?

1 个答案:

答案 0 :(得分:1)

使用SitePrioerties.Template属性来区分站点类型。 一驱动器SPSPERS 经典团队网站的STS 现代团队网站的组 网站发布交流网站 等

您还可以使用SPOSitePropertiesEnumerableFilter.Template进行预过滤以仅获得一种结果