怎么给企业微信群发文字和图片信息

  • 1.创建企业微信群机器人
  • 1.1 添加群机器人
  • 1.2 验证及配置机器人
  • 1.3 需要的信息
  • 2.使用Python调用群机器人
  • 2.1 发送文字信息
  • 2.2 发送图片信息
  • 2.3 验证程序
  • 2.4 全部代码


1.创建企业微信群机器人

1.1 添加群机器人

在企业微信群里点击“…”,并“添加群机器人"

企业微信群 消息 java 企业微信群 消息网关_python


点击“新创建一个机器人”

企业微信群 消息 java 企业微信群 消息网关_微信小程序_02


填写机器人名称,本文使用“小宝”作为机器人名称,点击“添加机器人”

企业微信群 消息 java 企业微信群 消息网关_python_03


当显示如下信息时,表示群机器人成功创建

企业微信群 消息 java 企业微信群 消息网关_python_04


此时可以在“群机器人”栏目中看到刚创建的机器人。

企业微信群 消息 java 企业微信群 消息网关_python_05

1.2 验证及配置机器人

右击群机器人“小宝”,打开“查看资料”

企业微信群 消息 java 企业微信群 消息网关_python_06


点击[编辑图标->配置说明]

企业微信群 消息 java 企业微信群 消息网关_企业微信群 消息 java_07


推送消息示例:验证群信息发送操作

机器人配置说明:发送群消息格式,及方法

推送消息配置:消息ip白名单

企业微信群 消息 java 企业微信群 消息网关_微信_08

1.3 需要的信息

webhook地址,此是发送微信的接口地址
文本信息发送方法,
发送文本消息数据格式

{
    "msgtype": "text",
    "text": {
        "content": "广州今日天气:29度,大部分多云,降雨概率:60%",
    }
}

发送图片消息数据格式

{
    "msgtype": "image",
    "image": {
        "base64": "DATA",
        "md5": "MD5"
    }
}

2.使用Python调用群机器人

使用python集成开发环境IDLE,需要引入python库:
我们定义一个变量存放微信的webhook地址

import requests
import hashlib
import base64

url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

2.1 发送文字信息

def SendText(str_text):
    data = {
        "msgtype": "text",
        "text": {
            "content": str_text,
            }
        }
    ret = requests.post(url, json=data)
    print(ret.text)

2.2 发送图片信息

def SendImage(img_path):
	# 从图片文件读取图片二进制格式
    with open(img_path, mode='rb') as fp:
        img = fp.read()
        
    # 获取md5编码
    md5 = hashlib.md5(img).hexdigest()
    b64 = base64.b64encode(img)

    # 要发送群信息的json格式数据信息
    data = {
        "msgtype": "image",
        "image": {
            "base64": str(b64,'utf-8'),
            "md5": md5,
            }
        }

	# 通过post发送微信群信息
    ret = requests.post(url, json=data)
    print(ret.text)

2.3 验证程序

在程序底部添加以下代码,来调用2.2中的函数:

if __name__ == "__main__":
    SendImage("xinhua.jpg")
    # SendText("Hello World!")

运行代码,[Run->Run Module]

企业微信群 消息 java 企业微信群 消息网关_微信小程序_09


发现微信群里收到了图片信息,如下图样式:

企业微信群 消息 java 企业微信群 消息网关_python_10

2.4 全部代码

import requests
import hashlib
import base64


url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

def SendImage(img_path):
    with open(img_path, mode='rb') as fp:
        img = fp.read()
        
    md5 = hashlib.md5(img).hexdigest()

    
    data = {
        "msgtype": "image",
        "image": {
            "base64": str(base64.b64encode(img),'utf-8'),
            "md5": md5,
            }
        }

    ret = requests.post(url, json=data)
    print(ret.text)


def SendText(str_text):
    data = {
        "msgtype": "text",
        "text": {
            "content": str_text,
            }
        }
    ret = requests.post(url, json=data)
    print(ret.text)


if __name__ == "__main__":
    SendImage("xinhua.jpg")
    # SendText("Hello World!")