CSOM C#経由で共有グループからユーザーを取得する際に問題があります。私は現在CSOM経由ですべてのユーザーを取得していますCSOM経由でsharepointグループからユーザリストを取得するにはどうしたらよいですか?
public List<SPUser> GetGroupMembers(string groupName)
{
var appContext = _sharePointService.AppContext;
Group group = appContext.Web.SiteGroups.GetByName(groupName);
appContext.Load(group, grp => grp.Title, grp => grp.Users);
appContext.ExecuteQuery();
List<ClientResult<PrincipalInfo>> principalsResults = new List<ClientResult<PrincipalInfo>>();
foreach (var user in group.Users)
{
principalsResults.Add(Utility.ResolvePrincipal(appContext, appContext.Web, user.LoginName, PrincipalType.User, PrincipalSource.All, null, false));
}
appContext.ExecuteQuery();
List<SPUser> spUsers = new List<SPUser>();
foreach (var principalResult in principalsResults)
{
spUsers.Add(_spPrincipalFactory.Get(principalResult.Value));
}
return spUsers.OrderBy(u => u.Name).ToList();
}
ただし、displaynameが "Mark *"で始まるユーザーのみが必要です。これは可能ですか?どうすればいい?
ありがとうございます。しかし、私はこのグループのすべてのユーザーを最初にメモリに取得し、このオブジェクトに対してlinqクエリを実行する必要があります。しかし、私はこれを防止し、 "mark *"で始まるspグループのユーザーのみを取得し、取得する必要があるので、1000の代わりに5人のユーザーを指定したいと考えています。 – STORM