使用Dynamics CRM Web API创建帖子

cam*_*cam 6 dynamics-crm odata dynamics-crm-online dynamics-crm-webapi microsoft-dynamics-webapi

无法使用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
}
Run Code Online (Sandbox Code Playgroud)

(来源1是自动发布,类型7是状态发布)

但它返回:

{
    "error":
    {
        "code":"",
        "message":"An unexpected error occurred.",
        "innererror"
        {
            "message":"An unexpected error occurred..."
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

仅使用"text"提交相同的有效负载也会失败.

请注意,Post实体没有单值导航属性(https://msdn.microsoft.com/en-us/library/mt607553.aspx#bkmk_SingleValuedNavigationProperties),这将允许我设置相关实体​​(联系人,帐户,等等).

例如,创建任务实体(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"
}
Run Code Online (Sandbox Code Playgroud)

在我看来,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)
    )
});
Run Code Online (Sandbox Code Playgroud)

有没有人有通过Web API创建的帖子的工作示例?这是Dynamics CRM Web API中的遗漏吗?

它看起来不像限制中所列:https://msdn.microsoft.com/en-us/library/mt628816.aspx

UPDATE

似乎后验实体是应该创建联系人/帐户的链接的地方.这可以通过查询来证明:

/posts?$filter=postregardingid/regardingobjectid_contact/contactid eq <someguid>
Run Code Online (Sandbox Code Playgroud)

但是,像这样的"深插入"不起作用:

{
    "text":"sometext",
    "postregardingid": 
         {
             "regardingobjectid_contact@odata.bind":"/contacts(someguid)"
         }
}
Run Code Online (Sandbox Code Playgroud)

回应是

无法在父实体之前创建子实体.

Aru*_*oth 0

没有任何地方提到不能使用 webapi 创建 Post(活动提要)。事实上,它没有像您指出的那样被列为 crm webapi 限制。

另外,比较起来,post_regardingobjectid_value的查找属性与Activitypointer不同。也是单值导航属性。

出于好奇,我的调查转向了合作伙伴——post_PostRegardings

唯一有意义的事情postregarding是严格内部使用。这可能是所有此类行为的原因。这是我今天根据 v8.2 的理论(2017 年 8 月 12 日)

描述:表示活动提要帖子所涉及的对象。仅限内部使用。
实体集路径:[组织 URI]/api/data/v8.2/postregardings
基本类型:crmbaseentity EntityType
显示名称:帖子相关
主键:postregardingid

参考: https: //msdn.microsoft.com/en-us/library/mt608103.aspx

更新

看起来 MS 推荐社区使用组织服务来创建自定义帖子记录。Web api 仍然损坏。阅读更多