问题标签 [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.

0 投票
6 回答
5603 浏览

dynamics-crm - 使用 Xrm.WebApi 为单值导航属性设置 null

我们正在修复,重新设计旧的 JS Web 资源,以用于最新的 D365 v9 sdk 更改 wrt 客户端脚本 API 改进和弃用。

当使用 重写 web api 方法Xrm.WebApi时,我们最终得到了这个阻止程序。

场景设置null为查找,并尝试了以下代码:

这是抛出错误:

“'odata.bind' 实例或属性注释具有空值。在 OData 中,'odata.bind' 实例或属性注释必须具有非空字符串值。”

这个想法是淘汰下面的冗余 XHR 请求代码。但这是我们现在唯一的解决方法(参考MSDN)。

有人遇到过并处理过吗?我错过了什么吗?

0 投票
1 回答
214 浏览

dynamics-crm - MS CRM 2015 Web API 使用电话获取 GUID1

我是 MS CRM 2015 的新手。我正在尝试使用电话 1 获得指导,但我没有像 2016 年那样找到任何 Web api。在 MS CRM 2016 中,我使用以下 APi 来获取联系人 ID

它适用于 2016,但相同的 api 不适用于 MS 2015。请你们中的任何人帮我确定 2015 年的等效 api 以获得联系 ID。我正在使用本地 CRM。

0 投票
1 回答
465 浏览

dynamics-crm-365 - API $expand 和 &count

是否可以使用$expand但不返回对象集合,只返回对象的数量?

例如,在单个 WebApi 调用中获取帐户及其注释计数

我已经尝试了几件事。

  • 明显的尝试:accounts(6CDEEB72-2AC8-E711-A825-000D3AE0A7F8)?$select=name&$expand=Account_Annotation($count=true)返回所有注释的所有字段,但不计算任何内容。

  • 接下来我尝试accounts(6CDEEB72-2AC8-E711-A825-000D3AE0A7F8)?$select=name&$expand=Account_Annotation($select=annotationid&$count=true) 返回错误:“找到不平衡的括号表达式”。我认为这&$expand

  • 我发现一个非 crm 博客说这可以用 a 解决,;但是当我尝试accounts(6CDEEB72-2AC8-E711-A825-000D3AE0A7F8)?$select=name&$expand=Account_Annotation($select=annotationid;$count=true)时它没有给出错误,但$count指令似乎被忽略了

  • accounts(6CDEEB72-2AC8-E711-A825-000D3AE0A7F8)?$select=name&$count=Account_Annotation($select=annotationid)返回“无效计数”错误的疯狂尝试

我猜这不是一个有效的组合,但我想我会在这里发帖,以防其他人成功实现这一目标。

0 投票
1 回答
949 浏览

javascript - Deep Insert Xrm.WebApi 嵌套的 createRecord 没有创建两个记录

尝试使用Xrm.WebApi创建自定义实体记录。

从数组有效负载创建批量记录时,如何处理时间问题?我创建了所有org_orgtrigger自定义实体,但没有创建我的org_orgtask实体,现在只是使用长度为 2 的数组进行测试。

有效载荷数据如下所示

任务和触发器的重要导航属性如下。您可以在使用生成的类中找到这些CrmSvcUtil.exe

这是使用我的导航属性进行深度插入所需的正确语法。

0 投票
2 回答
9943 浏览

dynamics-crm - OData“包含”与 Dynamics 365 Web API“包含”

通过 Web API 查询 Dynamics 365 时,有多个运算符可供选择以过滤查询的数据。其中一个运算符contains实际上出现了两次。

一个是 ODatacontains函数(您可以在“标准查询函数”标题下找到它):

https://msdn.microsoft.com/en-us/library/gg334767.aspx#Filter%20results

例子:

$filter=contains(name,'(sample)')

另一个是 Dynamics 365 Web API 本身的实现:

https://msdn.microsoft.com/en-us/library/mt608053.aspx

我试过这个,但只得到一个通用 SQL 错误:

$filter=Microsoft.Dynamics.CRM.Contains(PropertyName='name',PropertyValue='(sample)')

有什么不同?也许有人甚至可以告诉我如何contains正确调用 Web API 版本?

0 投票
1 回答
1192 浏览

dynamics-crm - 使用具有空备用键的 Dynamics 365 Web API 检索记录

问题

我正在尝试使用关键属性为空的 Web API 从 Dynamics 365 查询记录。

方法

出于测试目的,我创建了一个具有字符串属性、整数属性和小数属性的实体。然后,我创建了一个备用键并将这三个属性放入其中,使这种属性组合独一无二。然后我创建了一些记录。

使用 Web API 查询数据按预期工作。我用这些值创建了一条记录:

{ "my_string_key": "s1", "my_integer_key": 1, "my_decimal_key": 1.23 }

并像这样查询它:

/my_entities(my_string_key='s1',my_integer_key=1,my_decimal_key=1.23)

这将返回所需的记录。

但是,当任何关键字段为空时,我无法让它工作,它总是返回 400 并带有消息“错误请求 - 查询语法错误”。只是为了澄清:我特意创建了其中一个关键属性为空的记录,如下所示:

{ "my_integer_key": 1, "my_decimal_key": 1.23 } { "my_string_key": "s1", "my_decimal_key": 1.23 } { "my_string_key": "s1", "my_integer_key": 1 }

请注意每条记录如何缺少一个关键属性,这实际上将其保留为空。

我尝试使用=null, =empty, ='',==Microsoft.OData.Core.ODataNullValue没有任何效果。我试图像这样查询它们:

/my_entities(my_string_key=null,my_integer_key=1,my_decimal_key=1.23) /my_entities(my_string_key='s1',my_integer_key=null,my_decimal_key=1.23) /my_entities(my_string_key='s1',my_integer_key=1,my_decimal_key=null)

我还尝试省略其中包含 null 的属性,如下所示:

/my_entities(my_integer_key=1,my_decimal_key=1.23) /my_entities(my_string_key='s1',my_decimal_key=1.23) /my_entities(my_string_key='s1',my_integer_key=1)

这些都不起作用。任何人都可以提供解决方案吗?

最后的话

我知道关键属性不应该为空,因为这不是关键属性的重点。但是,我的方案需要处理这种特定情况。

我也知道我可以只使用 $filter 参数,但我想要一个解决方案,而不必求助于这种“解决方法”。毕竟,它是一把钥匙,我想把它当作一把钥匙。

0 投票
0 回答
425 浏览

jquery - Connecting to Cross Domain Dynamics CRM Web API (Unauthorized)

I'm having a problem connecting to the Dynamics CRM Web API.

I'm trying to connect to the Web API from an external .NET Core page, using javascript but I keep getting the 401 Unauthorized error. It seems a cross domain problem. The error is:

No 'Access-Control-Allow-Origin' header is present on the requested resource

Basically I'm at the domain domain1.com, and I need to run a web api call at domain2.com using javascript.

So how can I achieve that? I do not want my user to be prompted to authenticate, but I need to manage that by the code.

Also, I'm not using Azure to authenticate but I'm using ADFS.

This is my code:

0 投票
1 回答
1202 浏览

javascript - MS Dynamics 活动响应 POST:500 内部服务器错误

我正在研究 MS Dynamics 365,我参考了Microsoft 文档

在这里,当我发布数据时,它会给出500 Internal Server Error

“GET”适用于相同的 api 端点。

我们是否有任何我遗漏的关系参数?

发布数据

0 投票
1 回答
496 浏览

javascript - 使用 Web API 发布电子邮件不反映“发件人”和“收件人”数据

我想使用 MS Dynamics Web API 创建电子邮件。

我在这里发布数据

发件人收件人未反映在 Dynamics CRM 中。仅显示主题描述

有什么我想念的吗?

0 投票
3 回答
2332 浏览

javascript - 动态CRM在线升级后/api/data/v8.2到/api/data/v9.0?

我对使用 Web API(HTTP REST API)使用 javascript 访问 Dynamics CRM 比较陌生,所以如果这是一个愚蠢的问题,我提前道歉。

我们最近从v8.2在线升级到v9.0. 这是否意味着我必须解析我们拥有的 js 代码库并将下面的代码从 更改v8.2v9.0

我确实进行了一些初步搜索,但找不到任何可以回答我问题的东西。