问题标签 [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.
azure - 使用 REST API 从 Windows 桌面应用程序访问 CRM 实例时出错
尝试使用 Windows 桌面应用程序中的 REST API 从 CRM 实例中检索数据时出现以下错误。
AADSTS65001:用户或管理员未同意使用 ID 为“4cdb6f7a-5d9c-495a-9649-0140516b91b6”的应用程序。为此用户和资源发送交互式授权请求。跟踪 ID:a6901b0e-f39c-481a-b1ee-365a2cf61a6a 相关 ID:3928214f-ec91-4df1-9e43-c876dfc4000f 时间戳:2016-10-05 13:12:43Z
我已经在 Azure Active Directory 中注册了应用程序,并且我正在使用已注册应用程序的“应用程序 ID”将其作为客户端 ID 传递到 HttpRequestMessage 中。
这个问题的可能原因是什么?
对此的任何帮助将不胜感激。
谢谢
dynamics-crm - 在 Dynamics API 中删除实体引用
我是 Microsoft Dynamics Web API 的新手,我需要在批量更新调用中删除/清空实体引用(包含 GUID 的字段,它是另一个实体中的记录的 ID)。此批量更新调用可以包含任意数量的记录,并且每条记录可以包含任意数量的需要为空的实体引用字段。要设置实体引用,我可以执行以下操作:
但是,要删除它,将值设置为 null(或 0 的空 GUID 字符串)似乎不起作用。我遇到过这个页面
https://msdn.microsoft.com/en-us/library/mt607875.aspx#bkmk_Removeareferencetoanentity
它告诉我需要对要删除的给定字段进行删除调用。这真的是唯一的方法吗?在我看来,这似乎是一个相当简单的事情。据我了解,如果我有 3 条要更新的记录,每条记录都有 3 个要删除/删除/无效的实体引用字段,那将是 1 次批量更新调用,然后是 9 次后续删除调用. 如果我有 1000 条记录要更新,这将是一次更新,然后是 3000 次删除调用。同样,这真的是唯一的方法吗?有没有办法将它们作为批量更新的一部分删除?
javascript - 如何为自定义实体设置多个条目?
在我们的 Dynamics CRM 在线自定义项目中 - 我们在名为's form的自定义实体中有默认的ACTIVITIES选项卡DocProject
ACTIVITIES可以接受多个条目。
此外,还有相同形式的NOTES选项卡
NOTES也可以记录多个条目。
好的,这是由 Dynamics CRM 人员完成的。到现在为止还挺好。
在同一个表单中,我们还有一个自定义实体的DocProjectActivities
查找字段DocProjectActivities
这是一个查找字段,因此它具有 1:N 关系。
澄清:我们的问题不仅与活动有关。WKT Notes的行为也类似。我们只需要一些
config
可以让我们为一个字段创建多个条目
问题:
如何确保此自定义实体
DocProjectActivities
允许像ACTIVITIES & NOTES一样创建多个条目?
dynamics-crm - 使用 Ms Dynamic 2016 Web API 插入的简单 Odata 返回 null
我正在使用简单的 Simple.Odata API 将新实体数据插入 Ms Dynamic CRM Web api 并使用以下代码片段
此代码片段创建了新的实体数据,但问题是 newcontactData 始终为空。根据文档 newcontactData 对象应该有新创建的对象数据。请参阅文档链接 https://github.com/object/Simple.OData.Client/wiki/Adding-entries
dynamics-crm - CRM 不支持直接更新实体引用属性,请改用导航属性
我正在使用带有简单 OData 的 Ms Dynamic Web Api。我需要为链接实体添加新记录。
我正在使用以下代码片段并参考 https://github.com/object/Simple.OData.Client/wiki/Adding-entries-with-links上的文档
我得到了例外
CRM 不支持直接更新实体引用属性,请改用导航属性S
dynamics-crm - Dynamics CRM Online 2016 Web API - 通过 Auzure AD 对象 ID 获取用户
是否可以通过 AzureAD 中的用户 ObjectID 从 Dynamics CRM Online 2016 Web API 获取用户对象。
我可以通过其获取用户windowsliveid
(如下例所示),但找不到在 Azure AD 和 CRM Online 之间共享的用户的 GUID。
也许这甚至不可能?
odata - 使用 OData 客户端生成器如何选择应该生成代理类的实体?
我已使用此生成器成功生成 OData 客户端代码来访问我的 Dynamics CRM WebApi 服务。不幸的是,对于一个普通的组织,它生成了一个 ~30 MB 的 cs 文件。这是一种很大的方式,因为我只需要访问一些实体。
我知道我可以下载 OData 服务的元数据并在运行生成器之前手动编辑,但我正在寻找一种对开发人员更友好的方式。
我一直在寻找一种直接限制元数据的方法,但似乎 xml 元数据文件是静态的:Fetching $metadata for a specific collection or entity with Odata web services in Microsoft Dynamics NAV 2016
为某些实体生成代理类的最佳方法是什么?
编辑:我实际上试图通过删除 EntityType 节点和相应的 EntitySets 来手动编辑元数据文件,但该工具抱怨某些接口 IEdm ......所以仍然没有解决。
dynamics-crm-online - Web 资源上的 Dynamics CRM Web API 身份验证错误
使用 HTML Web 资源加载 Dynamics CRM 表单时,我从 Chrome 浏览器控制台收到以下错误。
https://xxxx.api.crm6.dynamics.com/api/data/v8.2/<自定义实体>。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问来源“https://.crm6.dynamics.com”。响应具有 HTTP 状态代码 401。
dynamics-crm - 如何使用涉及数值过滤器的自定义 FetchXml 查询 Dynamics CRM Web API?
我正在尝试使用 WEB API /api/data/v8.x 执行获取 XML。一切都很好,除非我有涉及“属性包含数值”的查询。例如,以下用于查找电话号码帐户的 fetchXML 包含“03”:
当我们通过 GET on WEB API 运行它时:
CRM Web API 返回 Invalid XML 错误,如下所示:
{ "error":{ "code":"","message":"Invalid XML.","innererror":{ "message":"Invalid XML.","type":"System.ServiceModel.FaultException`1 [[Microsoft.Xrm.Sdk.OrganizationServiceFault,Microsoft.Xrm.Sdk,版本=8.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35]]" } } }
如果过滤器值不以数字开头,或者我删除了过滤器值上的“%”,则查询运行正常。我的结论是这与我的过滤器值中的编码和解码“%+数字”有关。
我的查询有什么问题还是这个 Dynamics CRM Web API 错误?有什么解决方法吗?
dynamics-crm - 无法获取链接实体(Web API + FetchXml)的查找字段的“名称”
我有一些通过 Dynamics CRM Web API 执行的 fetchXml。fetchXml 查询的构造如下:
当我通过 Web API 发送此查询时,我收到响应,并且“new_lookupForSomeEntityA”的值包括值 (GUID) 和格式化值(它的名称)。但是“new_lookupForSomeEntityB”的响应只包括 GUID,我找不到获取它的 GUID 和值的方法。我添加了一个标题记录:
但这似乎只是让我获得了主要实体而不是链接实体的格式化值。这是 Web API 的限制还是我做错了什么?任何帮助,将不胜感激。