shell实现发送微信文本信息

本文提供了一个使用 Bash 脚本调用 WeChat Work API 的示例,通过该脚本可以实现向指定用户或群组发送消息的功能。文章详细展示了如何设置消息内容、构建请求数据及发送请求的过程。

#!/bin/bash
#####################################
##    created by basededato        ##
##    2016-2-25                    ##
#####################################
. ./sys_cfg
LANG="en_US.UTF-8"
#PATH="/sbin:/usr/sbin:/usr/local/sbin:/bin:/usr/bin:/usr/local/bin:"


function output(){
local APPID=3  
local USERID=DBA_basededato
local PARTYID=1
printf '{\n'
printf '\t"touser":"'"$USERID"\"",\n"
printf '\t"toparty":"'"$PARTYID"\"",\n"
printf '\t"msgtype":"text",\n'
printf '\t"agentid":"'"$APPID"\"",\n"
printf '\t"text":{\n'
printf '\t\t"content":"'"$MSG"\""\n"
printf '\t},\n'
printf '\t"safe":"0"\n'
printf '}\n'
}


function fsmsg(){
URL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$(cat $SCRIPTS_PATH/token)"
APIRETURN=`curl --data-ascii "$(output)" $URL`


RET_STR=`echo $APIRETURN|awk -F \" '{print substr($3,2,1)}'`


#输出output函数输出
#OUTPUT_TEXT=$(output)
#echo $OUTPUT_TEXT


#
#echo $APIRETURN|awk -F \" '{print substr($3,2,1)}'
#echo $APIRETURN
#echo $RET_STR
}


fsmsg




if [ "$RET_STR" != "0" ]
then 
    sh token.sh
    fsmsg
fi
 

### 如何通过企业微信 API 发送文本和图片消息到微信群 #### 文本消息发送 要通过企业微信 API 将文本消息发送至指定的群聊,可以按照以下方式操作: 1. **获取 Webhook URL** 需要在企业微信后台创建一个机器人,并获取其对应的 `Webhook` 地址。这是用于触机器人的唯一入口地址[^2]。 2. **构建请求体** 构建 JSON 请求体以定义消息的内容。对于文本消息,结构如下所示: ```json { "msgtype": "text", "text": { "content": "这是一个测试文本消息" } } ``` 3. **起 HTTP POST 请求** 使用工具或编程语言向 Webhook URL 起 POST 请求。以下是 Python 的示例代码: ```python import requests webhook_url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=your_webhook_key_here" message_data = { "msgtype": "text", "text": { "content": "这是一条来自企业的通知!" } } response = requests.post(webhook_url, json=message_data) print(response.json()) ``` #### 图片消息发送 针对图片消息的发送流程稍有不同,具体步骤如下: 1. **上传临时素材** 在发送图片之前,需先将图片作为媒体文件上传至企业微信服务器,获得该图片的 media_id 值。此过程涉及另一个 API 接口 `/cgi-bin/media/upload`[^3]。 2. **准备 multipart/form-data 数据包** 创建包含待上传图像的数据包,设置合适的头部信息以便于接收方解析数据流。 3. **执行上传动作** 下面展示了一个简单的 Shell 脚本来完成这一任务: ```bash upload_file_dir="/path/to/image.jpg" url="https://qyapi.weixin.qq.com/cgi-bin/webhook/upload_media" key="?key=your_webhook_key_here&type=image" curl ${url}${key} \ -H 'Content-Type:multipart/form-data' \ -F "media=@${upload_file_dir}" | jq . ``` 4. **构造最终的消息对象** 利用上一步得到的 media_id 来组装完整的图片消息体: ```json { "msgtype": "image", "image": { "media_id": "MEDIA_ID_FROM_PREVIOUS_STEP" } } ``` 5. **推送消息给目标群体** 同样采用 POST 方法提交上述 JSON 至初始配置好的 Webhook URL 完成整个流程。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值