In this post, we’ll see how to create a site-collection using SharePoint 2013 CSOM in SharePoint Online. We’ll be using a console application for the purpose of demonstration.
Open Visual Studio 2013 –> File –> New –> Console Application and name it as ‘CreateSiteCollCSOM’.
Add references to the following assemblies
Microsoft.SharePoint.Client.dll
Microsoft.SharePoint.Client.runtime.dll
Microsoft.Online.SharePoint.Client.Tenant.dll
.
The Microsoft.Online.SharePoint.Client.Tenant.dll will be available in the location C:Program FilesSharePoint Client ComponentsAssemblies, if the SharePoint Client Components SDK is installed.
Import the following namespaces at the top of Program.cs
using Microsoft.SharePoint.Client;
using System.Security;
using Microsoft.Online.SharePoint.TenantAdministration;
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
static void Main(string[] args) { using (ClientContext oClientContext = new ClientContext("https://yoursite-admin.sharepoint.com")) { //Assign User Id for your SharePoint Online tenant string UserName = "userid@yoursite.onmicrosoft.com"; //Assign password for your SharePoint online tenant string Password = "password"; //Create a SecureString object from password string, needed for SharePointOnlineCredentials class SecureString SecurePassword = GetSecureString(Password); oClientContext.Credentials = new SharePointOnlineCredentials(UserName, SecurePassword); var oTenant = new Tenant(oClientContext); var oSiteCreationProperties = new SiteCreationProperties(); //Set the url of site-collection to be created oSiteCreationProperties.Url = "https://yoursite.sharepoint.com/sites/TestSiteColl"; //Set the title of site oSiteCreationProperties.Title = "Test SiteColl from code"; //set the site-collection owner oSiteCreationProperties.Owner = "userid@yoursite.onmicrosoft.com"; //set the template of site-collection to be created as TeamSite oSiteCreationProperties.Template = "STS#0"; //set the storge maxium level in MB oSiteCreationProperties.StorageMaximumLevel = 200; oSiteCreationProperties.UserCodeMaximumLevel = 100; SpoOperation oSpoOperation = oTenant.CreateSite(oSiteCreationProperties); oClientContext.Load(oTenant); oClientContext.Load(oSpoOperation, i=>i.IsComplete); oClientContext.ExecuteQuery(); Console.WriteLine("SiteCollection successfully reated"); } } private static SecureString GetSecureString(String Password) { SecureString oSecurePassword = new SecureString(); foreach (Char c in Password.ToCharArray()) { oSecurePassword.AppendChar(c); } return oSecurePassword; }
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }