gpt4 book ai didi

c# - 在 Sharepoint 中按组获取用户

转载 作者:可可西里 更新时间:2023-11-01 08:59:58 26 4
gpt4 key购买 nike

谁能告诉我如何使用 Sharepoint 获取特定组内的用户?

所以我有一个包含用户和/或组的列表。我想检索该列表中的所有用户。有没有办法区分列表项是组还是用户。如果它是一个组,我需要获取该组中的所有用户。

我正在使用 C#,并且我正在尝试通过将它变成一个控制台应用程序来做一些事情。

我是 Sharepoint 的新手,我真的想跳入这里的深水池,我们将不胜感激任何帮助。

干杯..

最佳答案

您需要知道的第一件事是,当您有一个包含用户/组字段的列表时,您必须知道它的类型。当项目值中有一个用户或组时,字段类型为 SPFieldUserValue。但是,如果字段有多个用户/组选择,则字段类型为 SPFieldUserValueCollection。
我假设您的字段允许单个用户/组选择,并且您已经拥有以下对象:

SPSite site;
SPWeb web;
SPListItem item;

现在,我们将检查用户/组的字段值并检索用户列表,与用户类型无关(字段名称是“用户”)。

SPFieldUserValue usersField = new SPFieldUserValue(mainWeb, item["Users"].ToString());
bool isUser = SPUtility.IsLoginValid(site, usersField.User.LoginName);
List<SPUser> users = new List<SPUser>();

if (isUser)
{
// add a single user to the list
users.Add(usersField.User);
}
else
{
SPGroup group = web.Groups.GetByID(usersField.LookupId);

foreach (SPUser user in group.Users)
{
// add all the group users to the list
users.Add(user.User);
}
}

希望对你有帮助。

谢谢,
佩德罗若泽巴蒂斯塔

关于c# - 在 Sharepoint 中按组获取用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/325007/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com