如何解析Power Apps自定义连接器的响应并提取字段存入变量
Power Apps 解析Graph API响应并存储字段方案
1. 单字段提取存储
调用自定义连接器的接口后,直接通过点语法即可提取JSON字段,用Set函数存入全局变量,后续操作可直接引用该变量:
// 示例:自定义连接器名为Graph_User,调用的查询接口为GetMyUser Set(varMyDepartment, Graph_User.GetMyUser().department)
上述代码执行后,varMyDepartment的值就是响应中返回的DPE-DES-Platform Services,可直接作为其他接口的入参使用。
2. 批量调用Graph API的结构化存储方案
如果你需要调用10次接口存储多组数据,推荐使用集合(表类型变量)存储完整结构化数据,支持后续的增删改查操作:
// 第一步:初始化空集合,用于存储所有接口返回的用户数据 ClearCollect(colGraphUserList, Blank()) // 第二步:批量调用接口写入集合,示例为遍历10个用户ID批量查询 ForAll( ["user1-id","user2-id",..."user10-id"], Collect( colGraphUserList, Graph_User.GetSpecifiedUser(ThisRecord.Value) ) )
集合colGraphUserList会自动包含所有返回的mail、displayName、department字段,可直接作为展示组件的数据源,也可通过筛选提取指定字段:
// 提取指定用户的部门字段 LookUp(colGraphUserList, mail = "mail@company.com").department
3. 代码级数据操作方案
Power Apps内置的Power Fx语法支持所有常规的数据处理操作,包括新增字段、修改值、过滤、聚合等,示例如下:
// 给集合新增自定义标记字段 UpdateIf( colGraphUserList, true, { depart_category: If(StartsWith(department,"DPE-DES"), "平台服务", "其他部门") } )
如果有非常复杂的JSON处理逻辑,也可以开发PCF自定义代码组件,用TypeScript编写逻辑处理数据后再回传给Power Apps变量使用。
内容的提问来源于stack exchange,提问作者Larry Jing
相关产品推荐
相关产品推荐

