2014-09-03 11 views
5

Jeśli chcesz utworzyć grupę i dodać właściciela grupy i domyślnego użytkownika można użyć następujących kodów:Jak dodać grupę SharePoint jako właściciela grupy przy użyciu modelu obiektu klienta?

string siteUrl = "https://server/sites/sitename"; 
ClientContext clientContext = new ClientContext(siteUrl); 
Web web = clientContext.Web; 

GroupCreationInformation groupCreationInfo = new GroupCreationInformation(); 
groupCreationInfo.Title = "Custom Group"; 
groupCreationInfo.Description = "description ..."; 

User owner = web.EnsureUser(@"domain\username1");  
User member = web.EnsureUser(@"domain\username2"); 

Group group = web.SiteGroups.Add(groupCreationInfo);  
group.Owner = owner;    
group.Users.AddUser(member);  
group.Update(); 

clientContext.ExecuteQuery(); 

Moje pytanie brzmi: Wiem, jak dodać użytkownika jako grupę właścicieli, ale jeśli chcę dodać grupa SharePoint "Wsparcie techniczne" jako właściciel grupy, jaki powinien być kod?

Odpowiedz

6

Zastosowanie GroupCollection.GetByName lub GroupCollection.GetById sposób odzyskać istniejącą grupę z witryny, a następnie ustawić Group.Owner property do jego wartości, na przykład:

using (var ctx = new ClientContext(webUri)) 
{ 
    ctx.Credentials = credentials; 

    var groupCreationInfo = new GroupCreationInformation 
    { 
     Title = groupName, 
     Description = groupDesc 
    }; 

    var groupOwner = ctx.Web.SiteGroups.GetByName("Tech Support"); //get an existing group 

    var group = ctx.Web.SiteGroups.Add(groupCreationInfo); 
    group.Owner = groupOwner; 
    group.Update(); 
    ctx.ExecuteQuery();  
} 
+0

Dzięki Vadim. Próbowałem GetById() to działało. Próbowałem GetByName() nie działa, myślę, że to dlatego, że próbowałem go w VS 2010. Spróbuję to w VS 2013 później. Ale myślę, że to jest rozwiązanie. – allan8964

+0

To prawda, GroupCollection.GetByName została wprowadzona w SharePoint 2013 CSOM API –

+0

GetByName() pracował w VS 2013. Jeszcze raz dziękuję! – allan8964

Powiązane problemy