SharePoint 2013 REST API AJAX更新工作流任务

Ram*_*ari 5 workflow

我需要你的帮助.我想完成2013年运行的自定义工作流任务(SH 2010 WF).我一直在使用一堆代码.在JavaScript AJAX中使用Rest API更新任务列表.我用其他列表测试此代码并运行OK,但是当我想更新任务列表时.我收到了不同的错误MSG.

如果我想更新Title提交,我收到""消息":{"lang":"es-ES","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));
    }

};
Run Code Online (Sandbox Code Playgroud)

Kir*_*ohn 0

还有另一个类似的帖子。我的答案是进行一些屏幕抓取并将用户重定向到用户界面。简而言之,我们无法使用 REST 更新列表,但可以使用 CSOM。不管怎样,WF 忽略了任务的变化。链接如下:使用 CSOM 在 Sharepoint 中以编程方式更新任务项