企业微信显示真实姓名
企业微信会隐藏给机器人发消息的人是谁,Halo 里的联系人只显示一串 ID。在企业微信里授权「消息」能力、把链接粘贴进 Halo,就能显示真实姓名和群名。
授权要你自己在企业微信客户端里操作,Halo 不能替你授权。这一步是可选的:不做也不影响收发消息和数字人回复,只是联系人显示成一串 ID。
为什么显示一串 ID
企业微信新建的智能机器人收到消息时,拿不到发消息人的姓名,只拿到一串匿名 ID,Halo 只能原样显示。要显示真实姓名,需要在企业微信里给这个机器人另外授权「消息」能力。这个授权和机器人的 Bot ID、Secret 是两回事。
没配置、又有显示成 ID 的私聊联系人时,数字人的 IM 会话 和 可联系的联系人 上方会提示「由于企业微信会对此机器人的发送者进行匿名化处理,联系人会显示原始 ID。……」,点 了解操作方法 会打开这一页。
第一步:在企业微信里授权
按企业微信客户端里的路径操作:「工作台 → 智能机器人 → 此机器人 → 权限 → 授权“消息”」。授权后,复制它给出的链接,形如 https://qyapi.weixin.qq.com/mcp/v2/bot/msg?apikey=…。
这个链接相当于密码
拿到这个链接的人可以用这个机器人的身份读取会话和最近的聊天记录、下载消息里的文件,还能发消息。像密码一样保管:不要发到群里,也不要写进文档或代码仓库。
企业微信那边的具体菜单以企业微信为准。
第二步:粘贴到 Halo
- 打开 设置 › 消息通道,点开这个企业微信机器人。
- 在 连接 里找到 姓名解析 URL(标着 可选),粘贴链接。输入框会遮住内容,点右边的眼睛图标(「显示」)可以查看。
- 改动自动保存,不用重启。
确认生效
姓名解析 URL 下面会显示状态:
| 状态 | 意思 |
|---|---|
| 「已保存 — 将在下一条传入消息时生效」 | 填好了,还没有新消息来触发查询 |
| 「生效中 — 正在解析发送者姓名」 | 已经在用了 |
| 「授权已过期(有效期为 7 天)— 请重新从企业微信复制链接并粘贴到此处」 | 授权过期了,见 授权 7 天过期 |
| 「上次尝试失败 — 将自动重试」 | 网络或企业微信那边临时出错;下次有人发消息时(至少隔 30 秒)Halo 会再试 |
查询在后台进行,结果用在同一个人发来的下一条消息上,所以填好后要等对方再发一条,名字才会出现。
完成
状态显示「生效中 — 正在解析发送者姓名」,IM 会话 和 可联系的联系人 里出现了真实姓名。
能显示什么
- 私聊联系人:显示对方的名字。
- 群:显示群名。
- 群里每个发言的人:企业微信不提供,仍然是 ID。
- 企业微信一次只返回最近约 20 个会话。很久没联系的人可能查不到,等他再发消息、回到最近会话里,就会补上。
你自己给联系人起的名字(重命名)优先级最高,不会被查到的名字覆盖。
授权 7 天过期
这个授权从授权时起 7 天有效。过期后:
- 状态变成「授权已过期(有效期为 7 天)……」,IM 会话 上方也会提示,点 如何重新授权 会回到这一页。
- 已经查到的名字不会丢,新出现的联系人会显示 ID。
- 回企业微信重新授权一次,把新链接粘贴进 姓名解析 URL。
遇到问题
填了链接,联系人还是 ID
等对方再发一条消息:查询是收到消息时才触发的。还不行,看状态是不是「授权已过期」,或者这个联系人是不是很久没联系、不在最近约 20 个会话里。
群里某个同事还是显示 ID
企业微信不提供群里发言人的姓名。想知道某人的用户 ID,让他私聊机器人问「我的用户 ID 是什么」。