首页 > 解决方案 > 如何在 2016 年本地 CRM 中使用 Web api 获取审计历史数据

问题描述

我需要使用 web api 获取特定记录的审计历史详细信息,而不是通过自定义代码。

我尝试使用以下代码获取审核历史记录。但它没有返回所需的信息,因为我需要旧的和值列。 https://xxxxx/api/data/v8.2/audits$filter=_objectid_value%20eq%20AFF6BF88-8A78-CDAE-8829-5B702E2F89D9

然后我尝试了这个"RetrieveRecordChangeHistory"功能。它在自定义 c# 代码中工作,但在 web api 中不工作。

https://xxxx/api/data/v8.2/RetrieveRecordChangeHistory(Target=@Target)?@Target= {%22contactid%22:%22AFF6BF88-8A78-CDAE-8829-5B702E2F89D9%22,%22@odata.type %22:%22Microsoft.Dynamics.CRM.contact%22}。

上面的 url 给出了以下错误。

{ "error":{ "code":"","message":"未找到段'RetrieveRecordChangeHistory'的资源。","innererror":{ "message":"未找到段'RetrieveRecordChangeHistory'的资源。 ","type":"Microsoft.OData.Core.UriParser.ODataUnrecognizedPathException","stacktrace":" 在 Microsoft.OData.Core.UriParser.Parsers.ODataPathParser.CreateFirstSegment(String segmentText)\r\n 在 Microsoft.OData。 Core.UriParser.Parsers.ODataPathParser.ParsePath(ICollection1 segments)\r\n at Microsoft.OData.Core.UriParser.Parsers.ODataPathFactory.BindPath(ICollection1 段,ODataUriParserConfiguration 配置)\r\n 在 Microsoft.OData.Core.UriParser.ODataUriParser.Initialize()\r\n 在 System.Web.OData.Routing.DefaultODataPathHandler.Parse(IEdmModel model, String serviceRoot, String odataPath, ODataUriResolverSetttings resolverSettings, Boolean enableUriTemplateParsing)\r\n at System.Web.OData.Routing.DefaultODataPathHandler.Parse(IEdmModel model, String serviceRoot, String odataPath)\r\n at Microsoft.Crm.Extensibility.OData.CrmODataPathHandler.Parse(IEdmModel模型,字符串 serviceRoot,字符串 odataPath)" } } }

标签: dynamics-crmdynamics-crm-2016dynamics-crm-webapi

解决方案


RetrieveRecordChangeHistory功能在 CRM 2016 (v8.2) 中的 web api 中不可用,后来添加到 web api 功能列表中,即 v9

v8.2 函数列表

v9 函数列表


推荐阅读