企业微信 使用api批量处理群消息

好的,我们来详细讲解如何为企业微信创建API接口,以便实现批量发送等高级功能。
创建企业微信API接入的核心是为你的企业创建一个“自建应用”,然后获取这个应用的访问凭证。整个过程可以分为以下几个步骤:

第一步:在企业微信后台创建自建应用

这个应用将作为你的程序和企业微信之间的“桥梁”。
  1. 登录企业微信管理后台
  2. 进入“应用管理”
    • 在左侧导航栏找到并点击「应用管理」。
  3. 创建应用
    • 点击页面上的「创建应用」按钮。
    • 上传一个应用Logo(可选),填写应用名称(例如:“批量消息推送机器人”),并选择应用可见范围(即哪些成员可以使用这个应用,通常选择你自己或相关管理员即可)。
    • 点击「创建应用」。
  4. 获取关键信息:AgentIdSecret
    • 创建成功后,你会进入应用详情页。请务必妥善保管此页面的信息!
    • AgentId(也称应用ID/Crop Id):页面直接显示。
    • Secret(应用密钥):点击“Secret”栏后的「查看」按钮,复制并保存。这个密钥只显示一次,如果丢失需要重置。

第二步:获取 Access Token

Access Token(访问令牌)是调用企业微信所有API的“通行证”。几乎所有API的调用都需要带上它。
  • API接口GET https://qyapi.weixin.qq.com/cgi-bin/gettoken
  • 请求参数
    • corpid: 你的企业ID。可以在管理后台的「我的企业」->「企业信息」中找到。
    • corpsecret: 上一步获取的应用Secret
  • 示例(使用命令行工具 curl):
    curl -G "https://qyapi.weixin.qq.com/cgi-bin/gettoken" \
    --data-urlencode "corpid=wwd08c8f123456789" \
    --data-urlencode "corpsecret=z9L7eLw9qLK2o0b1C3m5T3v5b1A2r5i6a7S8e9C0d1"
    
  • 返回值(JSON格式):
    {
      "errcode": 0,
      "errmsg": "ok",
      "access_token": "accesstoken000001",
      "expires_in": 7200
    }
    
    • access_token: 就是你需要的令牌,有效期为7200秒(2小时)。
    • 你需要在自己的程序中缓存这个token,并在它过期前重新获取,不要每次调用API都去获取一次。

第三步:调用发送消息的API

获取到有效的 access_token 后,你就可以调用发送应用消息的API了。这个API可以向指定成员、部门或机器人所在的群聊发送消息。
  • API接口POST https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN
  • 请求体(JSON):
    这是一个最基本的文本消息示例,发送给一个“群机器人”(实际上是通过应用向配置了该应用机器人的群聊发送)。
    {
       "touser" : "@all",
       "toparty" : "",
       "totag" : "",
       "msgtype" : "text",
       "agentid" : 1000002, // 你的应用AgentId
       "text" : {
           "content" : "你好,这是来自API的测试消息。"
       },
       "safe": 0
    }
    

关键点:如何发送到不同的群

这里就是实现你需求的核心。你需要为每个群创建一个“群机器人”,这个机器人其实就是你刚创建的那个自建应用。
  1. 在群聊中开启消息推送
    • 在企业微信手机端或电脑端,进入你想要发送消息的群聊
    • 点击右上角的群菜单,找到「消息推送」->「新建推送」。
  2. 获取群的 Webhook 地址(推荐且更简单的方法)
    • 添加推送成功后,在创建的推送应用的设置里,你可以看到一个 Webhook 地址
    • 这个地址长得像这样:https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=693axxx6-7a5b-4c6e-8a5b-74f8c8b6f1f1
    • 这个 key 参数唯一对应了这个群
  3. 使用 Webhook 发送消息(无需Access Token):
    • 使用Webhook方式发送消息更简单,因为它不需要获取Access Token,每个群的Webhook地址就是它的唯一标识。
    • API接口POST WEBHOOK_URL
    • 请求体(JSON):
      {
          "msgtype": "text",
          "text": {
              "content": "这是发送到特定群的消息,每个群可以不同。",
              "mentioned_list": ["@all"]
          }
      }
      

最终实现流程总结

要实现“批量发送不同信息到不同群”,你的程序逻辑应该是这样的:
  1. 准备一个数据源:比如一个Excel表格或数据库,包含两列:
    • webhook_url: 每个群对应的Webhook地址。
    • message_content: 每个群对应的个性化消息内容。
  2. 编写程序脚本(可以用Python、Node.js、Java等):
    • 读取数据源。
    • 循环遍历每一行。
    • 对于每一行,构建一个HTTP POST请求,URL是 webhook_url,消息体是包含对应 message_content 的JSON数据。
    • 发送请求。
  3. 处理结果:检查API的返回信息,确保发送成功。

示例:Python 伪代码

import requests
import json

# 你的数据源,例如一个字典列表
groups_info = [
    {
        "webhook_url": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=group1_key",
        "message": "这是发给群1的消息。"
    },
    {
        "webhook_url": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=group2_key",
        "message": "这是另一个发给群2的独特消息。"
    }
]

for group in groups_info:
    data = {
        "msgtype": "text",
        "text": {
            "content": group["message"]
        }
    }
    
    headers = {'Content-Type': 'application/json'}
    response = requests.post(
        url=group["webhook_url"],
        headers=headers,
        data=json.dumps(data)
    )
    
    # 打印结果,可根据errcode判断是否成功(0为成功)
    print(f"发送到群结果: {response.text}")
通过以上步骤,你就可以完整地创建API并实现批量发送不同信息到不同群的功能了。先从在管理后台创建应用和获取Webhook开始吧!
posted @ 2025-10-23 23:38  记录——去繁就简  阅读(12)  评论(0)    收藏  举报