前面介绍了消息推送的使用三种使用示例,这篇文章继续介绍剩下的一种image。单独介绍的原因是因为image的方式和其他三种略有不同,前面只是简单的文本方式的编辑就可以了,而image的方式目前使用起来这需要进行编码的转换。
图片类型消息格式说明
- 说明示例
{
"msgtype": "image",
"image": {
"base64": "DATA",
"md5": "MD5"
}
}
参数 | 是否必填 | 说明 |
---|---|---|
msgtype | 是 | 消息类型,此时固定为image |
base64 | 是 | 图片内容的base64编码 |
md5 | 是 | 图片内容(base64编码前)的md5值 |
注:图片(base64编码前)最大不能超过2M,支持JPG,PNG格式
推送示例
在实际发送时,将DATA和MD5替换为实际的内容,即可完成图片的发送,接下来以本文开头的图片为例来介绍一下如何使用群机器人推送图片
示例图片
liumiaocn:Desktop liumiao$ ls -l wechat.jpg
-rw-r--r--@ 1 liumiao staff 18937 Dec 28 06:31 wechat.jpg
liumiaocn:Desktop liumiao$
获取md5消息摘要
liumiaocn:Desktop liumiao$ md5 wechat.jpg
MD5 (wechat.jpg) = ba254bb75f4e91324829528038d55ad2
liumiaocn:Desktop liumiao$
base64编码
liumiaocn:Desktop liumiao$ base64 wechat.jpg
/9j/4AAQSkZ...省略...AAAAD//2Q==
liumiaocn:Desktop liumiao$
示例代码
liumiaocn:robot liumiao$ cat demo_image_send.sh
#!/bin/sh
CHAT_WEBHOOK_URL='https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key'
CHAT_CONTENT_TYPE='Content-Type: application/json'
echo "## demo: image: print image"
curl "${CHAT_WEBHOOK_URL}=${CHAT_WEBHOOK_KEY}" \
-H "${CHAT_CONTENT_TYPE}" \
-d '
{
"msgtype": "image",
"image": {
"base64": "/9j/4AAQSkZJRgAB...省略...AAAAD//2Q==",
"md5": "ba254bb75f4e91324829528038d55ad2"
}
}' 2>/dev/null |jq .
liumiaocn:robot liumiao$
注意:上述代码不全,base64编码内容未进行显示,可从github的easypack中获取示例代码也可使用自己本地图片。
推送图片消息
只需要将CHAT_WEBHOOK_KEY(key的内容)export之后,然后直接执行脚本即可看到演示结果
liumiaocn:robot liumiao$ sh demo_image_send.sh
## demo: image: print image
{
"errcode": 0,
"errmsg": "ok"
}
liumiaocn:robot liumiao$