I am using SharePoint 2010 JavaScript Client Side Object Model to create and update list items on a SharePoint Survey list. In my use case users are anonymous .
New items are created properly (Create List Item) but there is a problem with Updating list item by ID. Item can be created by anonymous user but cannot be updated. Error message: Request failed. Access denied. You do not have permission to perform this action or access this resource
Creating list item (anonymous user) - works OK, item is created
function createListItem() {
var clientContext = new SP.ClientContext(siteUrl);
var oList = clientContext.get_web().get_lists().getByTitle('Survey list');
var itemCreateInfo = new SP.ListItemCreationInformation();
this.oListItem = oList.addItem(itemCreateInfo);
oListItem.set_item('TestField', 'Test value');
oListItem.update();
clientContext.load(oListItem);
clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));}
Updating list item by ID 13 (anonymous user) - Request failed. Access denied. You do not have permission to perform this action or access this resource
function updateListItem() {
var clientContext = new SP.ClientContext(siteUrl);
var oList = clientContext.get_web().get_lists().getByTitle('Survey list');
this.oListItem = oList.getItemById(13);
oListItem.set_item('TestField', 'Updated value');
oListItem.update();
clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));}
Have you experienced problems with updating list item for anonymous users? Does this operation require additional rights / authentication? Anonymous access is enabled to Add Items ; Edit items. Can it be a problem with a FormDigest?
<SharePoint:FormDigest ID="FormDigest1" runat="server"></SharePoint:FormDigest>