用企业微信bot发送文件
BASH Shell: For Loop File Names With Spaces SHELL 调用企微机器人自动发送群文件
##防止文件名中有空格
OIFS="$IFS"
IFS=$'\n'
api_get="https://qyapi.weixin.qq.com/cgi-bin/webhook/upload_media?key=[key]&type=file"
api_post="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=[key]"
scr_file=$(find . -maxdepth 2 -type f -name "*.mp3" -mtime 0 -o -name "*.mp4" -mtime 0)
for file in ${scr_file[@]};do
#echo "$file"
media_id=$(curl -s -H 'Content-Type: multipart/form-data' ${api_get} -F "media=@${file}" | jq .media_id)
#echo "$media_id"
# 使用jq --arg进行传参,需注意'.file.media_id'对应其json格式的层级
echo '{"msgtype": "file","file": {"media_id": "3a8asd892asd8asd"}}' | jq --arg media_id $media_id ".file.media_id = $media_id" | sudo tee new_file.json
#cat new_file.json
curl -H 'Content-Type: application/json' -d @new_file.json ${api_post}
sleep 3
done
IFS="$OIFS"