Get all lists and document libraries programmatically using CSOM in SharePoint Online

In this SharePoint tutorial, we will discuss how to get lists and document libraries programmatically using the client object model (CSOM) in SharePoint Online. Here we will retrieve using C#.Net client object model code in SharePoint Online.

Before we start, we need to create a console application in Visual Studio. Here I am using Visual studio 2010 but you can do the same thing in higher version of Visual Studio.

Get all lists and document libraries programmatically using CSOM in SharePoint Online

Step 1: Open your Visual Studio

Step 2: Create a new console application and enter your solution Name and save it in your any drive location.

sharepoint get all list programmatically
sharepoint get all list programmatically

Step 3: Before we start , we need to add the SharePoint client object model dll in our application. For adding the dll we can add the dll manually under references or we can download it from NuGet gallery.

Step 4: For download the dll from NuGet , we have to go the manage NuGet packages under Tool in Visual Studio.

sharepoint online get all list programmatically
sharepoint online get all list programmatically

Step 5: Download the references which is required to connect SharePoint online. Below is the screenshot of reference file which is required to download.

how to get list from sharepoint site programmatically
how to get list from sharepoint site programmatically

Step 6: Next click on Install button. Once it will done, we will get an screen to select the project.

how to get list of all document libraries from sharepoint site programmatically
how to get list of all document libraries from sharepoint site programmatically

Step 7: Once you click on OK button , again you will get an screen to click Accept or Decline. Please click on Accept button to go forward.

sharepoint 2013 get all list programmatically
sharepoint 2013 get all list programmatically

Step 8: Once you click on Accept button, Download will start and you will get your all references inside reference file in your application.

sharepoint 2016 get all list programmatically
sharepoint 2016 get all list programmatically

Step 9: Next open your Program.cs file and write the below code under Main function.

using Microsoft.SharePoint.Client;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Security;
using System.Text;
using System.Threading.Tasks;
namespace getDataFromSharePointOnline
{
    class Program
    {
        static void Main(string[] args)
        {
            string userName = "r[email protected]";
            Console.WriteLine("Enter Your Password Please  ------- ");
            SecureString password = GetPasswordOfYourSite();
            // ClienContext - Get the context for the SharePoint Online Site                                
            using (var clientContext = new
            ClientContext("https://pikasha12.sharepoint.com/sites/DLH"))
            {
                // SharePoint Online Credentials  
                clientContext.Credentials = new SharePointOnlineCredentials(userName, password);
                // Get the SharePoint web  
                Web web = clientContext.Web;
                clientContext.Load(web.Lists,
             lists => lists.Include(list => list.Title, // For each list, retrieve Title and Id. 
                                    list => list.Id));

                clientContext.ExecuteQuery();
                foreach (List list in web.Lists)
                {
                    Console.WriteLine(list.Title);
                }
                   Console.ReadLine();

            }
        }
       
        private static SecureString GetPasswordOfYourSite()
        {
            ConsoleKeyInfo info;
            //Get the user's password as a SecureString  
            SecureString securePassword = new SecureString();
            do
            {
                info = Console.ReadKey(true);
                if (info.Key != ConsoleKey.Enter)
                {
                    securePassword.AppendChar(info.KeyChar);
                }
            }
            while (info.Key != ConsoleKey.Enter);
            return securePassword;
        }
    }
}

Step 10 : Test the application:

Hit F5 to run the application. Enter the password and then click on Enter button.

get all sharepoint list programmatically csom
get all sharepoint list programmatically csom

You may like following SharePoint csom tutorials:

Hope this SharePoint tutorial explains, how to retrieve all list and document libraries in SharePoint Online using CSOM (Client side object model).

  • This code will not work if I have to fetch multiple properties where my website contains 1lakh list. Will it be possible for you fetch solution for the same.
    Here is my context.
    WebCtx.Load(
    collList, lists => lists.Include(
    list => list.Title, list => list.BaseType, list => list.BaseTemplate, list => list.ImageUrl, list => list.ParentWebUrl, list => list.Id, list => list.LastItemModifiedDate, list => list.Created, list => list.DefaultView, list => list.DefaultViewUrl, list => list.Author.UserId, list => list.Author.UserPrincipalName, list => list.Author.Title, list => list.ParentWeb, list => list.ParentWeb.Author.UserId, list => list.ParentWeb.Author.UserPrincipalName, list => list.ParentWeb.Author.Title));

  • >