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

如何通过JSON列格式化在Sharepoint列表中获取当前用户

解决方案

方案1:修正JSON列格式化语法直接获取当前用户信息

你之前尝试获取当前用户信息失败大概率是语法使用有误,SharePoint V2列格式化架构支持通过@currentUser对象直接获取当前访问用户的身份信息,其中@currentUser.title对应用户的显示名,@currentUser.email对应用户的登录邮箱。
修改后的完整JSON代码如下:

{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  "elmType": "a",
  "attributes": {
    "href": "='mailto:' + join([$Co_x002d_ordinator.email], ';') + '?subject=OT Request- ' + join([$Position], ';') + ', ' + toLocaleDateString([$Shift_x0020_start]) + '&body=申请人:' + @currentUser.title + '%0D%0A我有意申请以下加班班次:' + join([$Position], ';') + ' 班次日期:' + toLocaleDateString([$Shift_x0020_start]) + ' 班次开始时间:' + toLocaleTimeString([$Shift_x0020_start])"
  },
  "children": [
    {
      "elmType": "span",
      "style": {
        "display": "inline-block",
        "padding": "0 4px"
      },
      "attributes": {
        "iconName": "Mail"
      }
    },
    {
      "elmType": "span",
      "txtContent": "Request shift"
    }
  ]
}

注意:代码中%0D%0A是mailto链接的换行符,可让邮件内容分段展示更清晰。
使用前请确认以下前提:

  • 你当前使用的JSON schema为V2版本(你现有代码的schema配置符合要求)
  • 测试前先清除浏览器缓存,重新登录SharePoint避免缓存旧配置导致失效

方案2:改用Power Automate流实现更稳定的申请流程

如果你所在的SharePoint环境受限无法使用@currentUser对象,或者希望避免mailto依赖本地邮件客户端的兼容性问题,推荐改用Power Automate实现需求:

  • 在加班班次列表中新建即时云流,触发条件选择「对于选中的项」
  • 流可直接获取触发用户的姓名、邮箱等身份信息,无需额外配置提取规则
  • 配置发送邮件动作,自动拼接班次信息、申请人信息发送给协调人,还可同步更新列表中的班次申请状态,方便后续统一管理
  • 最后将JSON列格式化中的超链接替换为该流的触发链接即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 00:15:04