Как различить персональный сайт и типы сайтов OneDrive - PullRequest
0 голосов
/ 21 ноября 2018

Я использую функцию

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 голосов
/ 01 апреля 2019

Используйте свойство SitePrioerties.Template, чтобы различать типы сайтов.SPSPERS для одного диска STS для классических командных сайтов ГРУППА для современных командных сайтов SITEPAGEPUBLISHING для коммуникационных сайтов и т. Д.

Вы также можете предварительно отфильтровать, чтобы получить только один вид результата с SPOSitePropertiesEnumerableFilter.Template

...