问题标签 [dynamics-crm-webapi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 无法从展开中检索属性
我正在尝试使用email_active_mime_attachments
withfilename
和filesize
从expand获取电子邮件的属性。我只能获取 Email 的属性,但不能从expand中获取选定的值。请对此提供帮助,不确定我在哪里缺少这些值
/api/data/v8.2/emails?$select=createdon,directioncode,senton,statecode,subject&$expand=email_activity_mime_attachment($select=activitymimeattachmentid,filename,filesize,_ownerid_value)
我正在尝试将其值读filename
入一个变量,但似乎我使用的方式不起作用。
请就此提出您宝贵的建议。
c# - 如何通过 Odata 实现 RetrieveAttributeRequest?
为了获取 OptionSet 信息,我们可以发出请求:
有没有办法在 crm 2016 中使用 Odata 请求来做到这一点?
c# - 如何从有关ObjectID 中查询实体?
我们可以像这样查询 web api 端点:
当响应包含 aboutobjectid 字段时,我们如何针对该记录发出类似的调用?
是否有odata方式来查询有关objectid,例如:
javascript - 使用 API 修补实体时保存更改
我正在使用 IFrame 和 javascript 在我的解决方案中创建一个列表。它通过一个简单的“启用”按钮将关联实体列出到自定义属性。
我可以使用 API 将 PATCH 发送到 Dynamics,以便更新值。但是是否有 API 调用来保存更改?这不是我修补的当前页面实体,它是一个孩子。所以我不能使用Xrm.Page.data.save
,因为那只会保存当前实体,而不是列表中更改的实体(?)。
在 Dynamics 365 中进行更改时,您可以使用 CTRL+S,或单击左下角的小保存按钮。如何为 IFrame 列表中的实体执行此操作?有什么线索吗?
更新:
我知道在使用 API 调用修补实体后输入实体时出现“未保存的更改”的原因。在我们的实体中,我们有业务规则在设置变量时进行侦听并设置另一个变量。当您在浏览器中的实体中并随后保存时,这可以正常工作。但是,当您在实体之外设置此值时,值本身会被保存,但业务规则不会运行并且其他值也不会设置。因此,当您输入实体时,规则会运行,另一个变量是根据 PATCHed 值设置的(如果它不同)。因此,您会得到未保存的更改。
所以; API有没有办法我可以“刷新”实体,使其运行规则?
json - 解决导航属性 Dynamics WebAPI 的深度插入错误
我正在使用Microsoft Dynamics Web API将数据写入 Microsoft Dynamics 365 中的实体。当我尝试执行深度插入时收到错误消息
未声明的属性 'ccseq_employeeid' 在有效负载中仅具有属性注释,但在有效负载中未找到属性值。在 OData 中,只有声明的导航属性和声明的命名流可以表示为没有值的属性。
为什么我会收到此错误,我该如何解决该错误?
JSON
ExpenseTransactionSet
是具有查找的ExpenseTransaction
含义的父级。 是一对多的关系。并且是在.ExpenseTransaction
ExpenseTransactionSet
ccseq_ccseq_expensetransactionset_ccseq_expensetransaction_ExpenseTransactionSetID
systemuser
ccseq_clients
ExpenseTransaction
我还尝试了以下变体"ccseq_employeeid@odata.bind"
objectid_systemuser@odata.bind
objectid_ccseq_employeeid@odata.bind
ccseq_employeeid@data.bind
ccseq_employeeid@odata.bind : systemusers()
ccseq_employeeid_systemusers@odata.bind
systemuserid_systemusers@odata.bind
c# - 当对象上的属性不存在时,在 Dynamics365 Web api 中做什么?
假设我们在 Dynamics 365 中有一个 Account 实体,account 有 c5 number 和 name 属性。
现在我想通过动态 365 Web API 创建一个新帐户。我创建了一个带有 c5 编号、名称的帐户对象,并添加了一个附加属性 lastname。当我将此帐户对象发布到 Web API 时,我会收到如下错误:
我真的不明白为什么 Dynamics 365 Web API 不能忽略它不能使用的属性?
在这种特定场景下,这意味着如果我们删除帐户实体上的 name 属性,我们所有与 Web API 对话的系统都可能崩溃。
我怎样才能解决这个问题?是否有强制动态 365 Web API 忽略某些属性?
javascript - 在导航属性失败时设置查找属性
我正在尝试POST
使用 Microsoft Dynamics WebAPI 来获取以下 json。该帖子返回成功,但在我的数据中 ccseq_employeeid 和 ccseq_clientid 未设置。我需要更改什么才能使字段正确发布?
实体结构
ccseq_expensetransaction
查找ccseq_expensetransactionsets
与具有名称的关系ccseq_ccseq_expensetransactionset_ccseq_expensetransaction_ExpenseTransactionSetID
。systemusers
对和的查找是实体ccseq_clients
的一部分。ccseq_expensetransaction
代码
javascript - 是否可以使用 web api 从 CRM 获取实体可用的所有关系?
我需要分别在 HTML 页面上获取和显示实体的所有可用关系。eg:如果我选择Account,在html页面中应该可以看到Account Entity的1:N、N:1和N:N关系。
我在下面尝试过,查询,我觉得,这些对我没有正确的帮助,请建议我一个解决方法来实现这一点。
http - 扩展实体的 Crm Web Api 无效 304 响应
我正在调用带有扩展的 Crm Web Api 查询:
在启用缓存的情况下第一次从 Chrome 调用时会给出有效的 200 响应。再次调用会给出 304 Not Modified 响应。到目前为止,一切都很好。但是如果我new_relatedemployee
在展开中更新实体的属性,我仍然会得到 304 响应,并且展开的属性是旧的,而不是当前值。更新源 SystemUser 实体可清除 304 问题,并检索新值。
所以基本上只为被查询的主要实体返回 304 响应,而不是为扩展实体返回。我希望两者都应该被检查。
有没有办法从客户端强制非缓存版本?
odata - 返回 odata 查询的计数
如果我有如下查询:
请注意我正在指定$count=true
它将返回:
我们如何重建这个查询以简单地返回1?