如何使用office365-rest-python-client更新SharePoint列表项多用户人员字段?
要更新支持多用户的人员/组字段,核心是传入FieldUserValue对象的列表而非单个值,以下是正确的实现方式:
实现步骤与代码示例
- 获取需要添加的多个用户(可通过ID、用户对象等方式)
- 构建FieldUserValue组成的列表
- 绑定到目标字段并执行更新操作
from office365.sharepoint.fields.field_user_value import FieldUserValue # 示例:获取当前用户和另一个指定ID的用户 me = ctx.web.current_user.get().execute_query() another_user = ctx.web.get_user_by_id(12).get().execute_query() # 构建多用户值列表 assigned_users = [ FieldUserValue.from_user(me), FieldUserValue(another_user.id) # 两种初始化方式均可使用 ] # 更新列表项的多用户字段 items[0].set_property("AssignedTo", assigned_users).update().execute_query()
关键说明
- 多用户字段的参数必须是数组类型,单个FieldUserValue只会设置单个用户
FieldUserValue.from_user(user_obj)和FieldUserValue(user_id)两种方式等价,可根据获取到的用户信息类型选择- 必须执行
get().execute_query()获取用户的完整属性(尤其是ID),避免因未加载用户数据导致更新失败
内容的提问来源于stack exchange,提问作者Yuchen
相关产品推荐
相关产品推荐

