【企业微信机器人】发送网络图片到指定群聊

企业微信文档

企业微信开发者中心关于群机器人文档

图片推送接口:

在这里插入图片描述

核心代码

发送网络图片到群聊核心代码

/**
     * 发送指定网络图片到群聊
     * @param webHookUrl 群聊机器人
     * @param sendImgUrl 网络图片地址
     */
    public static void sendNetworkImgUrl(String webHookUrl, String sendImgUrl) {
        InputStream in;
        byte[] byteData = null;
        try {
            //获取流
            //发送请求并且设置10秒超时时间
            HttpResponse execute = HttpUtil.createGet(sendImgUrl).timeout(10000).execute();
            in = execute.bodyStream();
            byteData = new byte[in.available()];
            in.read(byteData);
            in.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        String base64Str = Base64.getEncoder().encodeToString(byteData);
        String md5Str = MD5.create().digestHex(byteData);

        JSONObject eventTraceInput = JSONUtil.createObj();
        eventTraceInput.put("msgtype", "image");
        Map imageMap = new HashMap();
        imageMap.put("base64", base64Str);
        imageMap.put("md5", md5Str);
        eventTraceInput.put("image", imageMap);
        String body = HttpRequest.post(webHookUrl)
                .header("Content-Type", "application/json")
                .body(eventTraceInput.toString())//表单内容
                .timeout(3000)//超时,毫秒
                .execute()
                .body();
        JSONObject jsonObject = JSONUtil.parseObj(body);
        if (!"ok".equals(jsonObject.getStr("errmsg"))){
            System.out.println("发送失败,错误信息 >>>"+jsonObject.getStr("errmsg"));
        }
    }

演示

百度图片
在这里插入图片描述

  sendNetworkImgUrl("https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=自己群的webHook"
                ,"https://img1.baidu.com/it/u=1960110688,1786190632&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=281");

在这里插入图片描述

在这里插入图片描述

### 配置企业微信机器人发送每日天气更新 #### 创建企业微信机器人并获取Webhook地址 为了使企业微信机器人能够正常工作,需先创建一个群聊并将机器人类成员加入其中。具体操作是在选择目标群聊后右键点击管理聊天信息中的添加群机器人选项[^2]。完成基本信息设置之后会得到一个唯一的Webhook URL用于后续的消息推送。 #### 编写Shell脚本以自动化流程 在Linux环境下可以利用Cron定时任务配合简单的Shell脚本来定期执行特定命令序列来抓取最新的气象数据并通过上述获得的企业微信API接口推送给指定接收者列表内的人员。下面是一个基本框架: ```bash #!/bin/bash # 定义变量存储webhook链接以及城市名等参数 WEBHOOK_URL="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=your_key_here" CITY_NAME="Beijing" # 使用curl或其他工具向第三方服务发起HTTP GET请求获取JSON格式的城市天气详情 WEATHER_INFO=$(curl -s "http://apis.juhe.cn/simpleWeather/query?city=${CITY_NAME}&key=you_api_key") # 解析返回的数据结构提取所需字段构建消息体 MESSAGE="{\"msgtype\": \"text\", \"text\": {\"content\": \"$WEATHER_INFO\"}}" # 将构造好的POST JSON提交给企业微信服务器触发通知动作 curl -H 'Content-Type: application/json' \ -X POST \ --data "$MESSAGE" \ $WEBHOOK_URL ``` 此段代码实现了从网络上拉取北京地区的最新天气状况,并将其作为纯文本形式经由预先设定好的渠道传达出去的功能。需要注意的是这里使用的`juhe` API仅为示例用途实际应用时可根据需求替换为其他更合适的资源提供方[^1]。 对于某些情况下公开可访问的API可能带有严格的频率限制或是质量不佳的情况,则考虑采用网页爬虫技术直接解析官方发布的HTML页面内容不失为一种变通方案[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hi梅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值