gpt4 book ai didi

sharepoint - 确定输入的值是用户还是组 - 客户端对象模型

转载 作者:行者123 更新时间:2023-12-02 01:01:59 24 4
gpt4 key购买 nike

我正在试用 SharePoint Online 的客户端对象模型和应用程序。我可以使用 FieldUserValue 对象从 Person 和 Groups 字段中检索信息,但是,如何确定输入的值只是一个用户还是一个 SharePoint 组?

据我所知,FieldUserValue 只有一个 LookupId 和 LookupValue 作为其属性,没有指定它是否是一个组。我是否在这方面走错了路,是否有更好的方法来查询该字段并检查该值是否是 SharePoint 组的用户?

谢谢

最佳答案

您可以确定用户字段值是否为 UserGroup通过在 User Information List 中获取列表项的内容类型:

public static string GetUserFieldType(ClientContext ctx,FieldUserValue value)
{
var userInfoList = ctx.Site.RootWeb.SiteUserInfoList;
var userInfo = userInfoList.GetItemById(value.LookupId);
ctx.Load(userInfo,i => i.ContentType);
ctx.ExecuteQuery();
return userInfo.ContentType.Name;
}

用法

假设一个列表包含单值用户字段,那么:

using (var ctx = new ClientContext(webUrl))
{
ctx.Credentials = CreateSPOCredentials(userName, password);

var list = ctx.Web.Lists.GetByTitle(listTitle);
var listItem = list.GetItemById(itemId);
ctx.Load(listItem);
ctx.ExecuteQuery();

var userVal = listItem[fieldName] as FieldUserValue;
var type = GetUserFieldType(ctx,userVal);
var isUser = type == "Person";
var isGroup = type == "SharePointGroup";

}

关于sharepoint - 确定输入的值是用户还是组 - 客户端对象模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27544255/

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