Dataverse Web API批量删除添加ActivityParty报错0x80060888求助
Dataverse Web API批量删除设置收件人报错0x80060888的解决思路
问题原因分析
错误代码0x80060888提示的"key property value",指的是ActivityParty关联的目标实体主键值。ActivityParty是Dataverse里的关联型实体,本身不能独立存在,必须绑定到具体的收件人实体(比如系统用户、联系人)。你之前的请求里只设置了participationtypemask这类属性,没有指定关联实体的主键ID,Dataverse无法识别具体要发送邮件的对象,所以抛出错误。
具体解决思路
- 明确关联实体类型:先确定收件人是系统用户(
systemuser)、联系人(contact)还是其他支持的实体,不同实体对应不同的导航绑定属性。 - 正确构造ActivityParty对象:在请求体的
ToRecipients数组中,每个收件人对象必须包含关联实体的绑定属性和主键GUID。示例如下(以系统用户为例):
"ToRecipients": [ { "participationtypemask": 1, "systemuser@odata.bind": "/systemusers(7a1c8e5d-2b3a-4f6c-8d9e-0a1b2c3d4e5f)" } ]
这里的systemuser@odata.bind就是绑定系统用户实体的导航属性,括号内的GUID是目标用户的主键ID,这就是错误提示要求的"key property value"。如果是联系人,就换成contact@odata.bind并对应联系人的GUID。
- 验证主键有效性:确保填写的GUID是Dataverse中已存在的有效实体记录,格式为标准的32位小写GUID(无多余符号)。
- 检查请求结构:
ToRecipients是数组类型,每个元素必须是完整的ActivityParty绑定对象,不能仅包含participationtypemask属性。
内容的提问来源于stack exchange,提问作者Glenn
相关产品推荐
相关产品推荐

