Get All Web Count in SharePoint Online Site Collection using CSOM

  1. //using Microsoft.SharePoint.Client;  
  2. //using Microsoft.Online.SharePoint.TenantAdministration;  
  3.   
  4. //string weburl = "https://site.sharepoint.com";  
  5. //GetSite(credentials, weburl);  
  6.   
  7. //This method returns the site collection object based on the url.  
  8. //shows the count of all subwebs available with in SharePoint online Site Collection  
  9. //Microsoft.Online.SharePoint.TenantAdministration.SiteProperties.WebsCount  property      
  10. private static void GetSite(SharePointOnlineCredentials credentials, string weburl)  
  11. {  
  12.     using (ClientContext ctx = new ClientContext(weburl))  
  13.     {  
  14.         ctx.Credentials = credentials;  
  15.         Tenant tenant = new Tenant(ctx);  
  16.         //weburl is the SharePoint Site url  
  17.         //true - includes all properties of the Site Collection in the request   
  18.         SiteProperties ositeProperties = tenant.GetSitePropertiesByUrl(weburl, true);                  
  19.         ctx.Load(ositeProperties);  
  20.         ctx.ExecuteQuery();  
  21.                           
  22.         Console.WriteLine("Total webs: " + ositeProperties.WebsCount);  
  23.     }  
  24.     Console.WriteLine("Press any key to exit...");  
  25.     Console.Read();  
  26. }