Skip to content

Instantly share code, notes, and snippets.

@sksnips
Created December 24, 2015 11:20
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save sksnips/f49bc447664d947315ca to your computer and use it in GitHub Desktop.
CS snippet used to retrieve the available site groups from the SharePoint site
using System;
using System.Linq;
using System.Net;
using System.Text;
using System.Collections.Generic;
using Microsoft.SharePoint.Client;
namespace spknowledge.csomsamples.GetSiteGroups
{
class Program
{
static void Main(string[] args)
{
//Get Site Url fro user
Console.Write("Enter Site URL: ");
string strURL = Console.ReadLine();
//Get Username from user in the format of (Domain/Login ID)
Console.Write("Enter UserName (domain/userid): ");
string strUserName = Console.ReadLine();
Console.Write("Enter your password: ");
string pass = getPassword();
Console.WriteLine();
ClientContext ctx = new ClientContext(strURL);
ctx.Credentials = new NetworkCredential(strUserName, pass);
Web web = ctx.Web;
//Parameters to receive response from the server
//SiteGroups property should be passed in Load method to get the collection of groups
ctx.Load(web, w => w.Title, w => w.SiteGroups);
ctx.ExecuteQuery();
GroupCollection groups = web.SiteGroups;
Console.WriteLine("Groups associated to the site: " + web.Title);
Console.WriteLine("Groups Count: " + groups.Count.ToString());
foreach(Group grp in groups)
{
Console.WriteLine(grp.Title);
}
Console.Read();
}
private static string getPassword()
{
ConsoleKeyInfo key;
string pass = "";
do
{
key = Console.ReadKey(true);
// Backspace Should Not Work
if (key.Key != ConsoleKey.Backspace && key.Key != ConsoleKey.Enter)
{
pass += key.KeyChar;
Console.Write("*");
}
else
{
if (key.Key == ConsoleKey.Backspace && pass.Length > 0)
{
pass = pass.Substring(0, (pass.Length - 1));
Console.Write("\b \b");
}
}
}
// Stops Receving Keys Once Enter is Pressed
while (key.Key != ConsoleKey.Enter);
return pass;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment