微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Dynamic 365 - 检索 API 元数据属性列表 - DateTimeBehavior

如何解决Dynamic 365 - 检索 API 元数据属性列表 - DateTimeBehavior

我们已经开始使用动态 API 来检索实体的属性列表以进行迁移,如下所示:

GET [Organization URI]/api/data/v9.0/EntityDeFinitions(LogicalName='contact')?$select=LogicalName,AttributeOf,AttributeType HTTP/1.1  
Accept: application/json  
OData-MaxVersion: 4.0  
OData-Version: 4.0  

对于“DateTime”AttributeType 字段,其调用DateTimeBehavior 中有一个属性,它具有“DateOnly”值:

"DateTimeBehavior": {
  "Value": "DateOnly"
}

我们需要知道这一点才能将旧数据转换为 DateTime 或 Date 字段。但是,如果我们在 GET api 调用的 $select 中包含 DateTimeBehavior,我们将得到:

{
  "error": {
    "code": "0x0","message": "Could not find a property named 'DateTime' on type 'Microsoft.Dynamics.CRM.AttributeMetadata'."
  }
}

因此,我们不得不对每个“DateTime属性类型字段进行单独调用,以发现它是否是“DateOnly”。

有没有办法可以 $select 实体中的所有属性并包含这个“DateOnly”字段(如果它存在)?

非常感谢任何帮助。

解决方法

我不这么认为。 In order to retrieve the properties of a specific type of attribute you must cast the Attributes collection-valued navigation property to the type you want.

但是,您可以一次获取实体/表的所有日期时间属性及其相应的 DateTimeBehavior(而不是一次查询一个属性)。

GET /api/data/v9.0/EntityDefinitions(LogicalName='account')/Attributes/Microsoft.Dynamics.CRM.DateTimeAttributeMetadata?$select=LogicalName,DateTimeBehavior

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。