能否在Power Apps中动态修改自定义连接器的API密钥属性?
问题解答
是否可行?
不可行。Power Apps中自定义连接器的连接属性(包括API密钥这类认证信息)是静态的,一旦创建连接后,无法通过应用内的公式或事件动态修改其值。
替代解决方案
方案1:修改自定义连接器为无认证,手动添加动态请求头
- 编辑你的第二个自定义连接器,将认证类型改为无认证。
- 进入连接器的「定义」页面,找到需要调用的API操作,添加第三方要求的密钥请求头(比如
X-API-Key或Authorization)。 - 将该请求头的值设置为动态参数,比如
@{parameters('动态密钥')},保存连接器。 - 在Power Apps中调用该连接器时,直接传入OnStart获取到的token变量,示例:
自定义连接器名称.目标API操作({动态密钥: varToken})
方案2:通过Power Automate中转调用
- 创建一个Power Automate云流,添加「当Power Apps调用时」的触发器,设置输入参数为
token和API所需的其他参数。 - 在流中添加「HTTP」动作,调用第三方API,将传入的
token作为密钥添加到请求头或参数中。 - 在Power Apps的OnStart或需要调用的位置,调用该流并传入动态token,示例:
这个方案还能额外处理token过期自动刷新等逻辑,适合复杂场景。PowerAutomate流名称.Run(varToken, 其他参数)
方案3:直接使用Power Apps的HTTP控件
- 在画布应用中添加「HTTP」控件。
- 设置控件的
Method(GET/POST等)、Url为第三方API地址,然后在RequestHeaders中添加密钥字段,值绑定到你的token变量,示例:Http1.RequestHeaders = { "X-API-Key": varToken } - 触发HTTP请求后,可以通过
Http1.ResponseJSON获取返回结果。
注意:需要在应用设置中开启「允许跨域数据来源」,同时确保第三方API允许Power Apps的域名访问。
内容的提问来源于stack exchange,提问作者Steven
相关产品推荐
相关产品推荐

