Logic Apps无法直接获取Dynamics 365中SMS实体的TO/From字段咨询
无需Azure Functions,直接在Logic Apps中获取Dynamics 365 SMS实体的To/From字段的方法
当然有办法不用Azure Functions就能搞定!Dynamics 365的List Records连接器其实支持多种方式来获取那些默认没返回的引用字段,下面是几个实操方案:
1. 用FetchXML精准指定要获取的字段
List Records默认只会返回实体的"常用"字段,而To/From这类lookup字段经常不在默认列表里。你可以直接写FetchXML查询,强制拉取这些字段,甚至能顺带获取关联实体的详细信息。
比如针对SMS实体,你可以用这样的FetchXML:
<fetch top="100"> <entity name="sms"> <!-- 基础字段 --> <attribute name="smsid" /> <attribute name="subject" /> <!-- 直接获取To/From的lookup字段(会返回ID和显示值) --> <attribute name="to" /> <attribute name="from" /> <!-- 如果需要拿到关联联系人/用户的具体信息(比如姓名),添加link-entity --> <link-entity name="contact" from="contactid" to="to" link-type="outer" alias="to_contact"> <attribute name="fullname" /> <attribute name="emailaddress1" /> </link-entity> <link-entity name="systemuser" from="systemuserid" to="from" link-type="outer" alias="from_user"> <attribute name="fullname" /> </link-entity> </entity> </fetch>
在Logic Apps的List Records动作里,选择**"Use FetchXML query"**,把这段XML粘贴进去运行,就能拿到To/From字段的数据,甚至关联联系人的姓名、邮箱这些信息。
2. 利用"Expand query"展开引用字段
如果不想写FetchXML,也可以用连接器自带的Expand功能:
- 在List Records动作的参数里,找到**"Expand query"**选项(可能需要点击"Show advanced options"才能看到)
- 输入To和From字段的逻辑名称(比如
to,from,注意是逻辑名不是显示名,你可以在Dynamics 365实体管理器或高级查找里查) - 运行后,连接器会自动展开这些lookup字段,返回它们的ID、显示值等信息
3. 手动指定要返回的列
另一种简单方法是在List Records的**"Select columns"**参数里,明确列出你需要的字段逻辑名称,包括To和From。比如输入:smssid,subject,to,from
这样连接器会只返回你指定的这些字段,避免默认只返回常用字段的问题。
注意事项
- 确保你的Logic Apps服务主体拥有**读取SMS实体以及关联实体(比如联系人、系统用户)**的权限,否则即使查询正确也拿不到数据
- 确认To/From字段的逻辑名称是否正确,显示名和逻辑名可能不一样(比如To的逻辑名可能是
to_recipient,具体要看你的Dynamics 365环境配置)
内容的提问来源于stack exchange,提问作者Indrajit Roy IN
相关产品推荐
相关产品推荐

