动态365-检索API元数据属性列表-日期时间行为



我们已经开始使用动态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字段。但是,如果我们将DateTimeBehavior包含在GET api调用的$select中,我们将得到:

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

因此,我们被困在为每个">DateTime";AttributeType字段来发现它是否是">DateOnly";是否。

有没有一种方法我可以$选择一个实体内的所有属性DateOnly";字段(如果存在(?

非常感谢您的帮助。

我不这么认为。为了检索特定类型属性的属性,必须将Attributes集合值导航属性强制转换为所需类型。

但是,您可以一次为实体/表返回所有日期时间属性及其相应的DateTimeBehavior(相对于一次查询每个属性(。

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

最新更新