v 2.3.11
Changelog
SharePoint API:
ListItem
introduced support for system metadata update (#330)SiteProperies.update
method bug fix #480Web.ensure_folder_path
method bug fix #452
Support for ListItem
system update
Prefer ListItem.validate_update_list_item
method which supports overriding system metadata,
Here is an example which demonstrates how to update list item system metadata (namely Author
and Modified
field values):
ctx = ClientContext(site_url).with_credentials(credentials)
list_tasks = ctx.web.lists.get_by_title("Tasks")
items = list_tasks.items.get().top(1).execute_query()
if len(items) == 0:
sys.exit("No items for update found")
item_to_update = items[0] # type: ListItem
author = ctx.web.site_users.get_by_email(user_principal_name)
modified_date = datetime.utcnow() - timedelta(days=3)
result = item_to_update.validate_update_list_item({
"Author": FieldUserValue.from_user(author),
"Modified": modified_date
}).execute_query()
has_any_error = any([item.HasException for item in result.value])
if has_any_error:
print("Item update completed with errors, for details refer 'ErrorMessage' property")
else:
print("Item has been updated successfully")