Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >python发送微信及企业微信消息

python发送微信及企业微信消息

作者头像
用户1558882
发布于 2019-06-21 05:02:32
发布于 2019-06-21 05:02:32
10.3K00
代码可运行
举报
文章被收录于专栏:RgcRgc
运行总次数:0
代码可运行

1.发送微信消息

直接使用第三方库 itchat,其文档中有详细使用方式; https://itchat.readthedocs.io/zh/latest/

如下实例为 发送群聊信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# -*- coding: utf-8 -*-
# (C) Guangcai Ren, 2019
# All rights reserved
import logging

import itchat

log = logging.getLogger(__name__)

# itchat 微信官方教程:https://itchat.readthedocs.io/zh/latest/
# 微信登录
# 登录时如果断网,则此程序直接停止
# 启动热登录,并且生成 命令行 登录二维码
itchat.auto_login(hotReload=True, enableCmdQR=2)
# 保持心跳状态,防止自动退出登录
itchat.start_receiving()

# 获取群聊,注意群 必须保持到通讯录,否则可能会找不到群
itchat.get_chatrooms(update=True)
room = itchat.search_chatrooms('python')
if len(room) == 0:
    log.error('没有找到群信息')
else:
    try:
        iRoom = room[0]['UserName']
        # 发送消息
        result = itchat.send('send message', iRoom)
        try:
            if result['BaseResponse']['ErrMsg'] == '请求成功':
                log.info('send wechat success')
        except Exception as e:
            print('resolve wechat result fail,result is :{},error is {}'.format(result, e))
    except Exception as e:
        print('wechat send message fail,reason is :{} '.format(e))

2.发送企业微信 信息

企业微信 官方有 相关文档,直接按照文档开发即可。

注意点:

  • 先开通企业微信 
  • 登录网页版 企业微信 https://work.weixin.qq.com/  从中查找相关 id(在获取访问token时需要)
  • 接口一般 流程为 先 获取 token,再用 token访问其他接口
  • 发送群聊信息时,群id 只能通过 接口创建群聊的才有群id
  • 创建群聊时的 获取token的参数 corpsecret必须 从 

应用的 部门一定要选根目录,否则报错 86006;

  • 如果开发过程中有任何问题(错误提示有一定的误导性) 可以通过 企业微信客服 进行沟通解决,他们非常有耐心,谢谢他们。 

如下代码 做到了 获取token,创建群聊,发送群聊信息,发送个人信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# -*- coding: utf-8 -*-
# (C) Guangcai Ren <renguangcai@jiaaocap.com>
# All rights reserved
# create time '2019/6/13 17:17'
import json

import requests

result = requests.get("https://qyapi.weixin.qq.com/cgi-bin/gettoken",
                      params={'corpid': 'fg',
                              'corpsecret': '45'})
access_token = None
if result.status_code != 200:
    print('连接到服务器失败')
else:
    result_json = json.loads(result.text)
    if result_json['errcode'] != 0:
        print('响应结果不正确')
    else:
        access_token = result_json['access_token']
        print(access_token)

# 创建群聊
result = requests.post('https://qyapi.weixin.qq.com/cgi-bin/appchat/create?access_token={}'.format(access_token),
                       data=json.dumps({
                           "name": "通知群",
                           "owner": "user_name",
                           "userlist": ["user_name", "user_name1", "user_name2"],
                           "chatid": "secid"
                       }))
print(result.text)

# 推送群聊信息
result = requests.post('https://qyapi.weixin.qq.com/cgi-bin/appchat/send?access_token={}'.format(access_token),
                       data=json.dumps({
                           "chatid": "secid",
                           "msgtype": "text",
                           "text": {
                               "content": "测试:你的快递已到\n请携带工卡前往邮件中心领取"
                           },
                           "safe": 0
                       }))
print(result.text)

# 发送个人消息
result = requests.post('https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={}'.format(access_token),
                       data=json.dumps({
                           "touser": "user_name",
                           "msgtype": "text",
                           "agentid": 23,
                           "text": {
                               "content": "你的快递已到,请携带工卡前往邮件中心领取。\n出发前可查看<a href=\"http://work.weixin.qq.com\">邮件中心视频实况</a>,聪明避开排队。"
                           },
                           "safe": 0
                       }
                       ))
print(result.text)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-06-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
利用Python制作微信机器人(一)
双十一时候,阿里云服务器打折。于是直接买了三年的阿里云服务器。自己也明白有一个云服务器说白了就是有一个公网IP+7*24h不关机的电脑。但买完服务器后,就不知道用这服务器来做点什么炫酷的事情了。突然想到,最近一直在学python,我可以用python做一些自动化的事情。后来在网上看有人用python做了个微信自动化聊天的工具。但是这个工具是通过调用网页版微信api来进行通信的,而现在微信网页版已经不能使用了,所以这些api也就失效了。后来发现企业版微信是个神器,可以用企业微信来做一个自动回复的机器人。经过两天时间的摸索,终于做出了雏形。话不多说,先放成果。
全栈程序员站长
2022/09/10
1.9K0
利用Python制作微信机器人(一)
企业微信机器人
现在很多企业在使用企业微信或钉钉进行工作交流,我们可以在群里添加一个自定义群机器人,定时发送一些提醒或咨询信息,它可以作为一个小组手,也为工作增加一点乐趣。
Eric杂货铺
2020/09/24
4.9K0
企业微信机器人
企业微信API Python封装
github地址:https://github.com/yigedaigua/WXWorkAPI/tree/main
no怕不了木
2024/12/06
2930
zabbix报警微信接口最新版[python]
本脚本初始版本来自网上,作者不详,有知道可以联系我,让我等认识下 微信中查看代码可能有些错乱,可以移步 https://github.com/zhuima/wechat_for_zabbix/blob/master/zabbix_alert.py
追马
2020/07/02
5120
Zabbix监控之报警配置
定制报警内容: https://www.zabbix.com/documentation/4.0/zh/manual/appendix/macros/supported_by_location
王先森sec
2023/04/24
1K0
Zabbix监控之报警配置
0基础上手python、PHP编程,域自助服务台,具备第三方APP提醒,自助改密解锁等功能
王工自研域自助服务台架构图,具备长期未改密企业微信提醒、自助改密解锁等功能 全面对标宁盾微软AD自助修改密码解决方案 https://www.nington.com/solution-adpassword/ 每年可为公司节省5W-10W元
王忘杰
2023/08/21
2851
0基础上手python、PHP编程,域自助服务台,具备第三方APP提醒,自助改密解锁等功能
调用企业微信API发送文本,图片,文件消息[通俗易懂]
(1) touser–>str,接收消息者的标识(已在企业微信的通讯录中添加,添加后微信后台会自动分配标识),多个用户使用 “|” 隔开(如”zhdb|zhj|wqq”),所有人(“@all”); (2) corp_id–>str,企业ID,申请企业微信时获得; (3) secret, agent_id–>str, 创建企业应用时获得.
全栈程序员站长
2022/11/09
3.7K0
Zabbix 随笔:企业微信小程序告警篇
本文利用企业微信的方式告警。不过该方式有一个比较重要的前提,Zabbix Server 需要有访问外网的能力,接收端也需要有访问互联网的能力。
IT小白Kasar
2022/02/16
4.5K2
Zabbix 随笔:企业微信小程序告警篇
分布式监控系统Zabbix-3.0.3-完整安装记录(6)-微信报警部署
Zabbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式。 现在由于微信使用的广泛度,越来越多的企业开始使用zabbix结合微信作为主要的告警方式,这样可以及时有效的把告警信息推送到接收人,方便告警的及时处理。 前面介绍了zabbix的邮件报警的部署过程,这里继续说下zabbix的微信报警环境的部署。 废话不多说了,下面记录了微信报警的操作过程: 接下来详细记录如下: 1)微信企业号的申请过程 2)微信企业号登陆后的相关设置 3)zabbix结合微信报警脚本设置 -----------
洗尽了浮华
2018/01/22
1.1K0
分布式监控系统Zabbix-3.0.3-完整安装记录(6)-微信报警部署
Python构建企业微信自动消息转发服务端
目前有在项目分组,就小组成员中,微信群消息回复较多的情况下,想根据组来转发特定消息,包含文字、图片、语言等。在此只是自己实现仅供参考,可以根据自身需求修改更多功能。
KaliArch
2018/08/10
3.4K0
Python构建企业微信自动消息转发服务端
浅谈企业微信中AccessToken管理和API操作
原始方案: V0.1 定时器(schedule) 描述:在SpringBoot项目中,使用@Scheduled注解,每一小时获取一次AccessToken。 问题:在运行一段时间后,因网络波动导致某次请求失败,程序出错,定时器没有继续执行。 影响:程序无法进行任何微信相关的API请求。 改进:V0.2 定时器+异常捕获 V0.2 定时器+异常捕获 描述:在上述版本的情况下,增加异常捕获。 问题:运行一段时间再次出现异常,程序在获取AccessToken过程中出现阻塞,后续代码均未执行,定时器也无法执行。
geekfly
2022/05/06
2.9K0
浅谈企业微信中AccessToken管理和API操作
企业微信推送-云Api监测轻量应用服务器流量使用情况
腾讯云轻量无忧计划 新老用户同享优惠 低至15元/月起 终身续费同价 更赠送一年顶级域名,并享长期续费优惠
小宇-xiaoyu
2021/12/02
1.3K0
干货 | 通用 api 封装实战,带你深入理解 PO
在普通的接口自动化测试中,如果接口的参数,比如 url,headers等传参改变,或者测试用例的逻辑、断言改变,那么整个测试代码都需要改变。apiobject设计模式借鉴了pageobject的设计模式,可以实现一个优雅、强大的接口测试框架。
用户9652437
2022/04/20
5840
Zabbix告警消息推送至kafka并消费至企业微信
应用场景 由于朋友所在公司对安全性要求较高,zabbix所在的网络环境不能上外网,因此不能通过zabbix将告警直接发送至一些即时通讯工具,这就需要将报警消息发送至一些中间件,并通过中间件转发出去,这里选择使用了kafka,当然kafka中不只有报警信息,也有其他需要发送的数据,这里就不过多透漏 基础环境配置 kafka集群已部署好,这里不介绍安装细节
没有故事的陈师傅
2020/06/23
1.6K0
OpenWRT简易版serverchan脚本推送至企业微信
By HKL, on Monday 2021-05-31 15:20, tagged: 🏷️Linux 🏷️Operating 🏷️Networking
hiplon
2023/10/18
5010
快看,如何用 Python 发送告警通知到微信?
短信和电话,通常是收费的(若你有不收费的,可以评论分享一下),而邮件又不是那么及时,因此最后我选择微信通知。
陈晨135
2021/12/23
9250
快看,如何用 Python 发送告警通知到微信?
[891]利用企业微信实现监控通知
未验证主体信息的账号只能有200个成员,发送次数的限制为:帐号上限数*30人次/天
周小董
2022/04/13
6820
[891]利用企业微信实现监控通知
利用python3发微信
1:首先去微信企业号官网去申请一个帐号 2:在‘企业应用’里创建自建应用,并记住agentid。下面会用到 3:corpid,corpsecret在哪里,你自己百度找吧。多的是答案。 #!/usr/bin/env python # -*- coding: utf-8 -*- #GuoYabin import requests,json,sys,imp imp.reload(sys) class WeChat(object): def __init__(self): self.url='http
py3study
2020/01/03
1.2K0
Zabbix 3.4.3实现企业微信报警 原
   微信的报警方式可以让我们随时随地接收到信息,加快问题的处理,比传统邮件更加方便,首先我们先打开企业微信的地址 https://work.weixin.qq.com
拓荒者
2019/03/11
5670
Zabbix 3.4.3实现企业微信报警
                                                                            原
python3微信企业号 发送图文
本例 只适用于企业号,公众号没试,可自行测试,方法差不多。有事找官网开发文档。 #!/usr/bin/env python # -*- coding: utf-8 -*- import requests import json import urllib.request ID="xxxxxxxxxxxx"   Secret="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" UserID = "hequan2011"##成员ID列表(消息接收者,多个接收者用'|'分隔,最多支持1000个
py3study
2020/01/03
1.2K0
推荐阅读
相关推荐
利用Python制作微信机器人(一)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验