如何解决从Dynamics 365中的元数据实体查询数组中的特定值
我正在尝试避免对该数组进行迭代,但是我认为这是处理此问题的唯一方法。只是看看是否有一种方法可以从Web API URI直接查询数组中的该值。
这是URI示例:
https://example.crm.dynamics.com/api/data/v9.0/GlobalOptionSetDefinitions(f4a9de67-1d00-ea11-a811-000d3a33f702)
这是响应的一个示例:
{
"@odata.context": "https://example.crm.dynamics.com/api/data/v9.0/$metadata#GlobalOptionSetDefinitions/Microsoft.Dynamics.CRM.OptionSetMetadata/$entity","MetadataId": "f4a9de67-1d00-ea11-a811-000d3a33f702","Options": [
{
"Value": 799680006,"Color": "#0000ff","IsManaged": false,"ExternalValue": "","ParentValues": [],"MetadataId": null,"HasChanged": null,"Label": {
"LocalizedLabels": [
{
"Label": "ABC123","LanguageCode": 1033,"MetadataId": "b4eb2c69-b500-ea11-a811-000d3a33fe19","HasChanged": null
}
],"UserLocalizedLabel": {
"Label": "ABC123","HasChanged": null
}
}
}
]
}
基本上,我有了"Value": 799680006
,这是我想以某种方式添加到URI查询参数中的方法,以便最终获得"Label": "ABC123"
。
任何建议还是使用if Value = x
遍历对象数组真的是唯一的选择吗?
解决方法
让我澄清两件事:
- 如果您有多个语言包,用于验证自定义或用于Devops部署,则像使用
GlobalOptionSetDefinitions
来获取所有本地化标签一样查询元数据 - 在交易数据库记录之一中获取所选选项列表值的标签是另一目的
如果只需要第二个目的,则可以在Web api请求中添加标头后,通过选择Formatted值来获取它。 Read more in my SO answer
检查标签的另一种方法是使用stringmap实体。
https://crmdev.crm.dynamics.com/api/data/v9.1/stringmaps?$filter=objecttypecode eq 'account' and attributename eq 'accountclassificationcode' and attributevalue eq 1
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。