POST [organization URI]/api/data/contacts
Content-Type: application/json; charset=utf-8
Accept: application/json
{
"emailaddress1": "myemail@example.com",
}
它可以正常工作,我在登录面板后看到了新记录。我可以通过API调用它:
[organization URI]/api/data/contacts(f76e4e7c-ea61-e511-80fd-3863bb342b00)
{
"@odata.context":"[organization URI]/api/data/$metadata#contacts/$entity",
"@odata.etag":"W/\"460199\"",
...
"contactid":"f76e4e7c-ea61-e511-80fd-3863bb342b00",
"emailaddress1":"myemail@example.com",
....
}
我接下来要做的事情是为该联系人添加关联的注释记录。 按照指南所述,我调用:
POST [organization URI]/api/data/annotations
Content-Type: application/json; charset=utf-8
Accept: application/json
{
"notetext": "TEST",
'contact@odata.bind': 'contacts(f76e4e7c-ea61-e511-80fd-3863bb342b00)'
}
但它返回400错误:
在有效负载中找不到仅具有属性注释但没有属性值的“contact”未声明属性。 在OData中,只有已声明的导航属性和已声明的命名流可以表示为没有值的属性。
当我调用时:
POST [organization URI]/api/data/annotations
Content-Type: application/json; charset=utf-8
Accept: application/json
{
"notetext": "TEST",
}
新实体已创建,但没有与联系人相关联。
如何正确组合此POST请求?我在这里缺少什么?
我怀疑contact@odata.bind
应该以某种不同的方式呈现,我尝试了contactid@odata.bind
、object@odata.bind
、objectid@odata.bind
,但没有效果。
有任何想法吗?
"objectid@data.bind": "/contacts(f76e4e7c-ea61-e511-80fd-3863bb342b00)"
,请注意在联系人前面加上斜杠和引号(以防万一)。 - Guido Preite