SharePoint 2013 REST API AJAX 更新工作流任务
Posted
技术标签:
【中文标题】SharePoint 2013 REST API AJAX 更新工作流任务【英文标题】:SharePoint 2013 REST API AJAX update workflow task 【发布时间】:2016-11-04 21:46:44 【问题描述】:我需要你的帮助。 我想完成自定义工作流任务,(SH 2010 WF)在 2013 年运行。 我一直在使用一段代码。在 javascript AJAX 中使用 Rest API 更新任务列表。 我用其他列表测试此代码并运行正常,但是当我想更新任务列表时。我收到了不同的错误消息。
如果我想更新 Title 提交,我收到了 ""message":"lang":"es-ES","value":"Value 不在预期范围内。","status" :400,"statusText":"错误请求""
如果我想更新结果字段,我可以在属性中看到该字段。
您对如何使用 Rest API 处理工作流任务及其内容类型有任何概念性描述
提前致谢 拉米罗
我将分享我的代码。
function updateJson(endpointUri,payload, success, error)
return getFormDigest('https://partner.coca-cola.com/sites/SLBU2013Test/POC').then(function (data)
$.ajax(
url: endpointUri,
type: "POST",
data: JSON.stringify(payload),
contentType: "application/json;odata=verbose",
headers:
"Accept": "application/json;odata=verbose",
"X-RequestDigest" : data.d.GetContextWebInformation.FormDigestValue,
"X-HTTP-Method": "MERGE",
"If-Match": "*"
,
success: success,
error: error
);
);
function getItemTypeForListName(name)
console.log("SP.Data." + name.charAt(0).toUpperCase() + name.slice(1) + "ListItem");
return"SP.Data." + name.charAt(0).toUpperCase() + name.slice(1) + "ListItem";
function updateListItem(webUrl,listTitle,listItemId,itemProperties,success,failure)
var listItemUri = webUrl + "/_api/web/lists/getbytitle('" + listTitle + "')/items(" + listItemId + ")";
console.log(listItemUri);
var itemPayload =
'__metadata': 'type': 'SP.Data.TasksListItem'
;
for(var prop in itemProperties)
itemPayload[prop] = itemProperties[prop];
console.log(itemProperties[prop]);
updateJson(listItemUri,itemPayload,success,failure);
function getFormDigest(webUrl)
return $.ajax(
url: webUrl + "/_api/contextinfo",
method: "POST",
headers: "Accept": "application/json; odata=verbose"
);
function Calcular ()
var itemProperties = 'Status':'Completadas';
updateListItem('https://partner.coca-cola.com/sites/SLBU2013Test/POC','Tasks',2,itemProperties,printInfo,logError);
function printInfo()
console.log('Item has been created');
function logError(error)
console.log(JSON.stringify(error));
;
【问题讨论】:
我们遇到了同样的问题。你找到解决办法了吗? 【参考方案1】:还有一个类似的帖子。我的回答是进行一些屏幕抓取并将用户重定向到 UI。简而言之,我们无法使用 REST 更新列表,但可以使用 CSOM。无论如何,WF 忽略了任务更改。这是链接:Update task item programatically in Sharepoint with CSOM。
【讨论】:
以上是关于SharePoint 2013 REST API AJAX 更新工作流任务的主要内容,如果未能解决你的问题,请参考以下文章
Sharepoint 2013 通过 REST API:尝试创建项目时禁止出现错误 403
text 更新项REST API调用SharePoint 2013
javascript 删除项REST API调用SharePoint 2013
Sharepoint 2013:通过REST API确保用户