You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power Apps自定义连接器获取登录用户OAuth Token问题咨询

解决Power Apps中获取登录用户认证令牌并传递给第三方API的问题

你调用的WhoAmI是Dynamics 365的API,它的设计目的是返回当前用户的Dynamics身份信息(用户ID、业务单元ID等),本身不会返回认证令牌(access_token),所以你从响应里拿不到令牌是正常情况。

下面是几种正确获取并传递用户令牌的方案:

方案1:Power Apps直接获取令牌

使用Power Apps内置的PowerApps.GetAccessToken()函数,直接获取当前登录用户针对指定资源的访问令牌:

// 将括号内的字符串替换为你的第三方API对应的资源标识符(通常是API的根URL或Azure AD应用ID URI)
Set(userToken, PowerApps.GetAccessToken("https://your-third-party-api-resource"));
// 把令牌传给Power Automate流
Test_tokn_All_IMRT.Run(userToken);

注意:需要先在Power Apps的应用设置 > 高级设置中启用「允许直接访问令牌」权限,这个函数才能正常工作。

方案2:Power Automate中获取令牌

在Power Automate流内直接处理令牌获取,不需要Power Apps传递:

  1. 流的触发器选择「Power Apps」。
  2. 添加「Azure AD > 获取访问令牌」动作,在「资源」字段填入第三方API的资源标识符。
  3. 将获取到的令牌作为Authorization头(格式为Bearer {token}),传入第三方API的HTTP请求动作。
  4. Power Apps只需调用这个流即可,无需额外传参。

方案3:通过自定义连接器自动传递令牌

如果要用自定义连接器对接第三方API,可配置连接器自动使用当前用户身份认证:

  1. 编辑自定义连接器,进入「安全」页签。
  2. 身份验证类型选择「OAuth 2.0」,配置委托权限模式:
    • 填入第三方API在Azure AD注册的客户端ID、客户端密钥、授权端点、令牌端点等信息。
    • 设置API所需的权限范围。
  3. 完成配置后,Power Apps调用该自定义连接器时,会自动带上当前用户的认证令牌,无需手动获取和传递。

内容的提问来源于stack exchange,提问作者Mohammed Imran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 12:18:10