2

我正在尝试通过 Web API 在 Dynamics 365 实例中创建一个新的“事件”(案例)。

在我的 http 请求中,我不知道哪个字段是强制性的。我尝试只添加标题、主题和客户,但我返回了 Http 400 错误...

我正在使用 Postman 尝试我的 Http 请求。如果我发送以下 json

{
    "title": "Case created from Web api",
    "_customerid_value": "bb2b6a80-7102-e711-8101-3993bb354ff0"
}

但我遇到了错误:“CRM 不支持直接更新实体引用属性,而是使用导航属性。”

所以我尝试使用@data.bind 技巧(https://msdn.microsoft.com/en-us/library/gg328090.aspx#Anchor_3

{
    "title": "Case created from Web api",
    "customerid@odata.bind": "/contacts(bb2b6a80-7102-e711-8101-3993bb354ff0)"
}

我收到以下错误:“未声明的属性‘customerid’在有效负载中只有属性注释,但在有效负载中没有找到属性值。在 OData 中,只有声明的导航属性和声明的命名流可以表示为没有值的属性。 "

所以现在我真的不知道该怎么做。我们可以通过 Web API 创建一个事件(在我的例子中是一个“服务案例”)吗?

谢谢

4

1 回答 1

3

找到了解决方案。只需将“_contact”添加到@odata 实例。

{
    "title": "Case created from Web api",
    "customerid_contact@odata.bind": "/contacts(bb2b6a80-7102-e711-8101-3993bb354ff0)"
}
于 2017-03-07T09:31:44.957 回答