Rest 尝试基于where子句删除列表中的所有记录

Rest 尝试基于where子句删除列表中的所有记录,rest,sharepoint-2013,sharepoint-designer,Rest,Sharepoint 2013,Sharepoint Designer,网站的所有工作流都能够将数据记录在网站的工作流历史记录列表中。这在运行时通过基于工作流名称的列表中的参数进行控制。我希望能够在此设置表上运行工作流,该工作流将删除历史记录列表中的所有记录。我的理解是,我可以通过SharePoint Designer工作流中的REST调用来实现这一点 我曾多次尝试在Designer中配置REST Post命令,但始终无法使其正常工作。我一次又一次地寻找解决方案,但没有找到这样的解决方案 我首先尝试删除所有工作流关联ID等于工作流名称的内容,但无法使其正常工作。然后

网站的所有工作流都能够将数据记录在网站的工作流历史记录列表中。这在运行时通过基于工作流名称的列表中的参数进行控制。我希望能够在此设置表上运行工作流,该工作流将删除历史记录列表中的所有记录。我的理解是,我可以通过SharePoint Designer工作流中的REST调用来实现这一点

我曾多次尝试在Designer中配置REST Post命令,但始终无法使其正常工作。我一次又一次地寻找解决方案,但没有找到这样的解决方案

我首先尝试删除所有工作流关联ID等于工作流名称的内容,但无法使其正常工作。然后我想我会尝试使用REST选择每个值,然后使用REST根据我从GET收到的ID删除该值

这是我的删除(帖子)

我还尝试了DeleteListItem

[%Workflow Context:Current Site URL%]/_api/lists/GetByTitle('Workflow History')/DeleteListItem('[%Variable: HistoryID%]')

我希望用户能够在我拥有的setupWorkflow列表中的任何工作流上运行此功能。工作流应删除当前工作流的所有历史记录。

我们可以基于WorkflowInstance在工作流历史记录列表中获取列表项,在designer工作流中,我们可以从工作流上下文中获取实例ID

/_api/web/lists/getbytitle('Workflow%20History')/items?$filter=WorkflowInstance eq 'b87b131e-ce22-43f5-85be-ec81d1045bc7'
然后使用下面的RESTAPI删除列表项

/_api/web/lists/getbytitle('Workflow%20History')/GetItemById(ID)
以下文章供您参考


我对它进行了编码,它运行,但没有删除任何内容。呼叫的响应正常。我的one REST调用使用Accept、Content-Type(定义为常规REST调用)和X-HTTP-Method字符串DELETE以及IF-MATCH字符串定义了我的RequestHeader。我的实际REST调用是使用以下URL[%Workflow Context:Current Site URL%]\u api/web/lists/getbytitle(“工作流历史记录”)/GetItemById(ID)的HTTP POST。HTTP服务属性:RequestHeaders:RequestHeaders(我在上面定义的dict)、RequestContent:RequestHeaders、ResponseContent:ResponseContent和ResponseHeaders:ResponseHeaders不确定发生了什么。但我知道我收到了不好的请求,我有点困惑。我只是尝试了不同的列表,现在又回到原来的列表。这个线程从来没有真正解决过我的问题,所以我问了不同的问题,并得到了答案。请看
/_api/web/lists/getbytitle('Workflow%20History')/GetItemById(ID)