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

如何通过API从Business Central获取触发Microsoft Flow用户的专属数据?

解决Business Central触发Flow仅获取当前用户数据的方案

1. 在Business Central触发Flow时传递当前用户标识

在触发Flow的Business Central逻辑(页面按钮、代码单元等)中,必须把当前登录用户的唯一标识(如用户ID、邮箱)作为参数传入Flow:

  • 若用AL代码触发,可通过以下方式获取并传递:
    var
        currentUser: Record User;
        flowParams: Dictionary of [Text, Text];
    begin
        currentUser.Get(UserId); // 拉取当前登录用户的记录
        flowParams.Add('UserID', currentUser."User ID");
        // 调用Flow并传入参数
        Microsoft.Flow.Run('你的Flow名称', flowParams);
    end;
    

2. 在Microsoft Flow中添加过滤规则

Flow触发后,在获取Business Central数据的步骤里设置精准筛选:

  • 使用Get records动作时,在Filter Query字段填入过滤条件,基于传递的用户标识筛选:
    UserID eq '@{triggerBody()['UserID']}'
    
    若用邮箱作为标识,替换为:
    Email eq '@{triggerBody()['UserEmail']}'
    

3. 强化数据访问安全(可选)

为避免数据泄露,可在Business Central层面限制API权限:

  • 针对User API配置权限集,确保当前用户仅能读取自身的用户记录。
  • 也可直接在Flow的请求URL中追加OData过滤参数,比如:
    /companies({companyId})/users?$filter=UserID eq '@{triggerBody()['UserID']}'
    

4. 测试验证

  • 用指定用户在Business Central触发Flow,检查Flow运行历史中的输入参数是否正确传递。
  • 查看Get records动作的输出,确认仅返回触发用户的记录。

内容的提问来源于stack exchange,提问作者Shahzaib Hanif

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 07:50:28