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

Confluence Server 7.13.7如何通过用户邮箱获取用户名?

通过邮箱获取Confluence Server 7.13.7用户名的方法

作为Confluence管理员,你可以通过官方REST API实现这个需求,具体操作如下:

1. 使用用户搜索API端点

调用Confluence的/rest/api/user/search端点,以邮箱作为搜索关键词定位用户,管理员权限可访问全量用户数据。

请求示例(curl)

curl -u 管理员用户名:管理员密码 "https://你的Confluence实例域名/rest/api/user/search?query=目标邮箱&limit=1"
  • 替换管理员用户名:管理员密码为你的管理员账号凭证
  • 替换你的Confluence实例域名为实际的Confluence部署地址
  • query参数填入要查询的用户邮箱
  • limit=1用于仅返回匹配的单个用户结果(Confluence通常不允许重复邮箱)

返回结果说明

返回的JSON数据中,results数组内的对象会包含所需的username字段,示例片段:

{
  "results": [
    {
      "username": "john_doe",
      "displayName": "John Doe",
      "email": "john.doe@example.com",
      // 其他用户字段...
    }
  ]
}

直接提取username字段即可用于后续API调用。

2. 批量处理邮箱列表

如果需要批量处理多个邮箱,可以编写简单脚本循环遍历列表,逐个调用API并收集用户名。以下是Python简化示例:

import requests
from requests.auth import HTTPBasicAuth

confluence_url = "https://你的Confluence实例域名"
auth = HTTPBasicAuth("管理员用户名", "管理员密码")
email_list = ["user1@example.com", "user2@example.com"]

for email in email_list:
    response = requests.get(
        f"{confluence_url}/rest/api/user/search",
        params={"query": email, "limit": 1},
        auth=auth
    )
    if response.status_code == 200 and response.json()["results"]:
        username = response.json()["results"][0]["username"]
        print(f"邮箱 {email} 对应用户名: {username}")
    else:
        print(f"未找到邮箱 {email} 对应的用户")

注意事项

  • 确保管理员账号拥有USER_ADMIN或SYSTEM_ADMIN权限,否则可能无法搜索全量用户
  • Confluence Server 7.13.7兼容上述1.0版本REST API端点
  • 若存在特殊情况的重复邮箱,需调整逻辑处理多结果场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 07:31:19