我正在尝试调用内部Microsoft Dynamics CRM 365(2016 / v8.2)实例的WebAPI(OData REST服务)的BulkDelete() Action。
就目前而言,我仍处于尝试通过使用Postman来使操作生效的阶段。我正在使用类似以下内容的HTTP POST到类似于https://MY_CRM_SERVER/api/data/v8.2/BulkDelete()
的URL:
{
JobName: "Test Bulk Delete 1",
QuerySet: [{
EntityName: "oo_thingstodelete",
ColumnSet: {
AllColumns: true
},
Distinct: false,
Criteria: {
FilterOperator: "And",
Conditions: [{
AttributeName: "oo_thingstodeleteid",
Operator: "Equal",
Values: [ "296e5e0a-ffe1-e944-80f4-005166811dbb" ]
}]
}
}],
StartDateTime: "2019-04-18T05:00:00Z",
ToRecipients: [],
CCRecipients: [],
SendEmailNotification: false,
RecurrencePattern: "",
RunNow: true
}
此请求正文当前产生错误:
发现名称为“”的属性的值节点类型为 'PrimitiveValue';但是,类型的复杂值 “ Microsoft.Dynamics.CRM.Object”是预期的。
据我所知,这是因为“ Values”属性(在QuerySet /条件/条件下)需要“ Object ComplexType”的集合。 “ConditionExpression” page of the CRM WebAPI v8中对此进行了记录。
在这一点上,我假设需要为“ Values”属性赋予类似于以下内容的值(而不是简单的字符串值):
Values: [ { “Value”: "296e5e0a-ffe1-e944-80f4-005166811dbb" }]
但是,如果我使用新的“ Values”属性值发布上述正文,则会收到错误消息:
属性“值”在类型上不存在 'Microsoft.Dynamics.CRM.Object'。确保仅使用属性名称 由类型定义的。
这感觉像是进步,但没有告诉我应该使用哪个属性名称。 CRM WebAPI documentation for the “Object ComplexType”没有列出我可以在该对象中使用的任何属性名称,也没有找到有关如何通过WebAPI使用BulkDelete操作的示例代码。
请注意,此请求正文可能还有其他问题。这只是我目前的障碍。
答案 0 :(得分:1)
对我有用的是在values数组中显式指定项目类型。即:
{{1}}
尽管我有不同版本的CRM(9.1)。