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

Power Automate实现JSON用户对象数组转字符串写入SharePoint列表

Power Automate 实现组用户名字符串拼接方案

你不需要复杂配置,3步就能实现需求,不用啃Compose的复杂用法:

  • 提取用户数组:你从Microsoft Graph拿到的返回结果里,所有用户对象都存在value字段下,Power Automate会自动识别JSON结构,不需要额外做解析操作。
  • 批量提取显示名:新增一个「Select」数据操作,From 参数选择Graph返回结果的value数组,点击映射栏右侧的「切换到文本模式」按钮(就是那个T形状的图标),映射值填表达式item()?['displayName']。运行后这一步会输出一个只包含所有用户显示名的纯文本数组,比如["User one", "User two", "User three"]。
  • 拼接成目标格式字符串:你可以加一个Compose操作,或者直接在「创建SharePoint列表项」的对应字段里填表达式,表达式内容为join(body('Select'), ', '),运行后输出的结果就是你要的逗号分隔格式:User one, User two, User three,直接存入SharePoint对应字段即可。

如果你不想加Select操作,想单步用Compose实现也可以,直接在Compose里输入如下表达式即可,只是后续维护调整字段的时候不如Select直观:

join(
  xpath(
    xml(json(concat('{"root": {"user": ', outputs('HTTP_请求获取组成员')?['body/value'], '}}'))),
    '//user/displayName/text()'
  ),
  ', '
)

表达式里的outputs('HTTP_请求获取组成员')替换成你实际调用Graph的操作名称就行。

注意事项
  • 如果存在部分用户displayName为空的情况,拼接结果会出现多余的连续逗号,可以把Select里的映射表达式改成兜底逻辑:if(empty(item()?['displayName']), item()?['userPrincipalName'], item()?['displayName']),空值时自动填充用户主体名称,避免格式错乱。
  • 存入SharePoint时如果组内成员较多,注意单行文本字段255字符的长度限制,成员数超过50人建议使用多行文本字段存储。

内容的提问来源于stack exchange,提问作者Dan Williams

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 06:57:17