public async Task <string> CreateTeamSiteNoGroupAsync(TeamSiteNoGroupRequest request) { var X509Cert = GetX509Certificate2(); using var authmanager = new AuthenticationManager(); using var context = authmanager.GetAzureADAppOnlyAuthenticatedContext( AppConfigurations.SpoUrlAdmin, AppConfigurations.ClientID, AppConfigurations.TenantID, X509Cert); var teamNoGroupSiteCollection = new TeamNoGroupSiteCollectionCreationInformation { Url = $"{AppConfigurations.SpoUrl}/sites/{request.Alias}", Owner = string.IsNullOrEmpty(request.Owner) ? AppConfigurations.SpoUserAdmin : request.Owner, Title = request.Title, Lcid = (uint)request.Language, Description = request.Description, ShareByEmailEnabled = true }; await SiteCollection.CreateAsync(context, teamNoGroupSiteCollection, noWait : true); return(teamNoGroupSiteCollection.Url); }
public async Task <string> CreateSiteCollectionAsync(SiteCollectionRequest request) { var accessToken = await tokenManager.GetAccessTokenSPOAsync(spoSetting.SiteUrlAdmin); var accessTokenSecure = accessToken.ToSecureString(); using var authManager = new AuthenticationManager(accessTokenSecure); using var context = authManager.GetContext(spoSetting.SiteUrlAdmin); var site = new TeamNoGroupSiteCollectionCreationInformation { Owner = spoSetting.UserName, Title = request.Title, Url = $"{spoSetting.SiteUrl.RemoveLastSlash()}/sites/{request.Alias}", Lcid = 1033, ShareByEmailEnabled = true, }; await SiteCollection.CreateAsync(context, site, noWait : true); return(site.Url); }
public async Task <string> CreateCommunicationSiteAsync(CommunicationSiteRequest request) { using var context = new ClientContext(AppConfigurations.SpoUrlAdmin) { Credentials = new SharePointOnlineCredentials( AppConfigurations.SpoUserAdmin, AppConfigurations.PasswordSecure) }; var communicationSite = new CommunicationSiteCollectionCreationInformation { Title = request.Title, Url = $"{AppConfigurations.SpoUrl}/sites/{request.Alias}", Description = request.Description, Lcid = (uint)request.Language, ShareByEmailEnabled = true, }; await SiteCollection.CreateAsync(context, communicationSite, noWait : true); return(communicationSite.Url); }
/// <summary> /// BETA: Creates a Team Site Collection /// </summary> /// <param name="clientContext"></param> /// <param name="siteCollectionCreationInformation"></param> /// <returns></returns> public static async Task <ClientContext> CreateSiteAsync(this ClientContext clientContext, TeamSiteCollectionCreationInformation siteCollectionCreationInformation) { await new SynchronizationContextRemover(); return(await SiteCollection.CreateAsync(clientContext, siteCollectionCreationInformation)); }
/// <summary> /// BETA: Creates a Team Site Collection /// </summary> /// <param name="clientContext"></param> /// <param name="siteCollectionCreationInformation"></param> /// <returns></returns> public static async Task <ClientContext> CreateSiteAsync(this ClientContext clientContext, TeamSiteCollectionCreationInformation siteCollectionCreationInformation) { return(await SiteCollection.CreateAsync(clientContext, siteCollectionCreationInformation)); }