Estou usando o método de atualização de listitem.py do SharePoint
item_object.update ()
mas como posso colocar os dados que desejo atualizar? por exemplo:
item_properties = {'__metadata': {'type': 'SP.Data.' + listTitle + 'ListItem'},
'Título': 'novo item',
'Valor': 99,
}
e, em seguida, atualize o item ...
Se bem entendi, você deseja atualizar um objeto já sincronizado com o Sharepoint. Veja como eu consegui:
ctx_auth = AuthenticationContext(url=sharepoint_site_url)
ctx = ClientContext(sharepoint_site_url, ctx_auth)
target_list = ctx.web.lists.get_by_title(sharepoint_root_folder_name)
# Fetch item by id and add properties to it.
item = target_list.get_item_by_id(item_id)
item.properties.update({
"NewItem": "99"
})
item.update()
ctx.execute_query()
O exemplo anterior não funciona para mim - obteve código de resposta 204 sem atualização real.
O caminho certo - defina as propriedades do objeto através do método:
# Open list object from portal
ctx_auth = AuthenticationContext(url=sharepoint_site_url)
ctx = ClientContext(sharepoint_site_url, ctx_auth)
target_list = ctx.web.lists.get_by_title(sharepoint_root_folder_name)
# Fetch list item object by id and set it's properties
item = target_list.get_item_by_id(item_id)
item.set_property('Title', 'new-title')
item.set_property('NewItem', '99')
# Update list item object and send request back to portal
item.update()
ctx.execute_query()
Resolvido com # 146
Obrigado por esses exemplos!
Proponho fechá-lo já que foi resolvido.
Comentários muito úteis
O exemplo anterior não funciona para mim - obteve código de resposta 204 sem atualização real.
O caminho certo - defina as propriedades do objeto através do método: