无法使用 Dynamics CRM 2016 Online Web API 创建Post 实体 ( https://msdn.microsoft.com/en-us/library/mt607553.aspx )。
此有效负载应在POST /api/data/v8.1/posts
{
"text": "Test Single Post",
"source": 1,
"type": 7
}
(来源 1 是自动帖子,类型 7 是状态帖子)
但它返回:
{
"error":
{
"code":"",
"message":"An unexpected error occurred.",
"innererror"
{
"message":"An unexpected error occurred..."
}
}
}
仅使用“文本”提交相同的有效负载也会失败。
请注意,Post 实体没有允许我设置相关实体(联系人、帐户、 ETC)。
例如,创建任务实体 ( https://msdn.microsoft.com/en-us/library/mt607619.aspx ) 在POST /api/data/v8.1/tasks
{
"subject": "Test Single Task",
"description": "Test One Description of Task",
"regardingobjectid_contact_task@odata.bind": "/contacts(<someguid>)",
"scheduledend": "2016-07-21T12:11:19.4875892Z"
}
在我看来, Post 应该公开类似的regardingobjectid_contact_post@odata.bind
内容,但事实并非如此。
对于上下文,这是通过 SOAP 端点和 SDK 创建 Post 的方法:
var result = Client.getOrganizationService().Create(new Post
{
Text = post.text,
RegardingObjectId = new EntityReference(
entityName,
Guid.Parse(post.regarding_guid)
)
});
有没有人有通过 Web API 创建的帖子的工作示例?这是 Dynamics CRM Web API 中的遗漏吗?
限制中似乎没有列出此内容:https ://msdn.microsoft.com/en-us/library/mt628816.aspx
更新
似乎 postregarding 实体是应该创建联系/帐户链接的位置。这可以通过查询来证明:
/posts?$filter=postregardingid/regardingobjectid_contact/contactid eq <someguid>
但是,像这样的“深度插入”不起作用:
{
"text":"sometext",
"postregardingid":
{
"regardingobjectid_contact@odata.bind":"/contacts(someguid)"
}
}
回应是
不能在父实体之前创建子实体。