使用企业通知服务message/send,返回‘不合法的UserID列表“
{"errcode":40031,"errmsg":"不合法的UserID列表"}
请求参数:
$params = [
'touser' => $touser,
'agentid' => $this->agentid,
'msgtype' => 'text',
'text' => [
'content' => $message,
],
];
发送请求使用
Guzzle package
说明一下,我们之前是可以使用钉钉发送信息的,这几天就不能用啦
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
遇到“不合法的UserID列表”的错误,通常意味着你尝试发送消息的目标用户ID(touser字段)存在问题,可能是因为格式错误、用户不存在或无权限接收消息。请按照以下步骤进行排查和解决:
检查 UserID 格式:确保 touser 字段中的每个 UserID 都是正确的字符串格式,对于钉钉来说,UserID 通常是字符串类型,且对于不同的消息类型(如单聊、群聊),其格式要求可能不同,请参照钉钉开发文档确认。
验证 UserID 有效性:可以通过钉钉开放平台提供的接口验证这些 UserID 是否有效,比如使用“获取用户详情”接口来验证指定 UserID 是否存在以及是否属于你的企业组织内。
权限问题:确认这些 UserID 对应的用户是否有权限接收来自该agentid的消息。某些情况下,如果用户被移除出应用的可见范围或者应用权限被调整,可能会导致无法接收到消息。
AgentID 确认:再次确认使用的 agentid 是否正确,以及该应用是否已经安装到目标用户的钉钉上,并且用户有权限查看此应用的消息。
API 调用频率:虽然这个错误信息直接指向了 UserID 问题,但有时频繁调用 API 也可能导致暂时性的限制,尽管这不太可能是“不合法的UserID列表”错误的直接原因,但仍建议检查是否有因调用频率过高触发的安全策略限制。
更新 SDK 或请求库:如果你长时间未更新过使用的 Guzzle package 或者钉钉SDK(如果有使用的话),可能存在兼容性问题。检查并更新到最新版本,看是否解决了问题。
查看官方文档与变更通知:有时候,API 的参数要求或行为会有所变更,务必查看最新的钉钉开发者文档,确认没有遗漏重要的更新说明。
如果以上步骤都无法解决问题,建议直接咨询钉钉开放平台的技术支持,提供详细的错误信息和请求参数,以便获得更专业的帮助。