写在前面
在上篇推文《程序员的浪漫实现每天定时给Ta推送消息提醒保姆级教程》中给大家介绍了微信测试号的方式推送消息,但是存在以下大家很不喜欢的问题:
- 测试号的标题不能修改为自定义的名称,不能修改测试号的头像
- 推送的消息必须要点进订阅号才能收到,点击进去之后打开一次就会从列表消息
- 每次要修改内容必须要自定义模版
- 微信测试号腾讯官方明确发公告说会关闭此通道,随时可能导致不可用状态
- 很多遇到测试不报错,但是推送不成功,很大部分原因推断是因为测试号不稳定的原因
针对以上的问题,网上大佬采用企业微信应用的方式进行升级了版本,解决了上面比较头痛的问题,在此感谢网上为此做出的贡献的大佬们,在此申明,本教程每字每句均由博主手敲,所有代码来自于开源项目,不喜勿喷。
名词解释
为了针对电脑小白,先针对后面提到的名称进行一个参数,希望大家有个印象,方便后面问题的排查。
- 企业微信并非只有企业能够申请,个人也是可以申请,只是不认证有部分功能受到限制,但是并不影响本教程的使用。
- 和风天气平台,这是一个获取天气预报的三方平台,我们注册此平台并实名认证之后可以免费获取天气预报数据,但是每天是有数量限制,这个以官方为准,如果是个人每天推送消息完全足够。
- 企业应用:注册企业微信之后,我们可以创建企业应用程序,然后通过此应用进行消息推送,你可以简单理解为这里的企业微信应用 ≈ 微信公众号
- 企业可信IP:全名称企业可信任IP地址,腾讯为了保证企业应用安全,所以设置了企业可信IP,只有添加在企业可信IP里面的地址才能使用程序推送消息。
效果预览
教程步骤
教程分为8大步骤:按照步骤操作肯定没问题,不明白的地方多看视频和教程多操作。
1、注册企业微信
浏览器打开企业微信网页 (https://work.weixin.qq.com/) -> 点击首页立即注册
2、登录企业微信后台
同样浏览器打开企业微信网页(https://work.weixin.qq.com/) -> 直接用绑定的管理员微信扫码登录到企业微信后台。
依次点击右上角我的企业 -> 找到企业Id -> 记住这个值我们后面要使用
3、创建消息推送应用
依次在导航栏找到应用管理 -> 创建应用
上传应用logo并填写应用名称,即应用的头像与名字,可见范围点击选择整个企业。
创建之后进入应用,找到 AgentId 保存下来,后面我们需要。Secret 点击查看在弹出的框中需要点击发送到 企业微信手机端-企业微信团队 才能查看,接收到并保存下来,后面我也需要。
4、填写企业可信IP
下拉到最底部,找到开发者接口 -> 企业可信IP -> 点击配置 -> 填写IP地址 确定即可
说明:在弹出的框中输入你程序要运营的所在环境的IP地址,举个例子:
- 比如我现在是使用我自己的电脑运行推送程序,那么就要直接填写百度里面IP的结果即可,或者直接点击查询IP的链接(点此查询IP)
- 比如我要用云服务器运行推送程序,那么就需要填写服务器的IP地址
在此为了满足大部分没有云服务器的人,我就使用本机运行推送教程来看我的每部操作。
5、申请和风天气Key
前面已经说了,要获取天气必须注册和风天气平台帐号获取key,我们后面需要填写。
- 打开和平天气官方 https://id.qweather.com/#/login ,建议直接使用微信登录注册
- 首次注册完成之后要按照要求完成手机号和邮箱绑定,否则无法申请KEY,完成以上步骤之后找到点击 更多和风天气产品的账号设置 -> 和风天气开发者控制台。
- 点击左侧应用管理 -> 创建应用 -> 免费开发版 -> 输入应用名称 -> Web API -> 输入KEY名称 -> 完成创建,找到KEY的值进行记录,后面我们会使用到。
6、配置程序参数
下载后进行解压,打开 config.py
,依次填写我们上面前置条件让保存下来的参数,其他内容根据注释调整模版即可。
其中wxid,agentid,secret,qweather为必填字段:各参数含义如下:
代码语言:javascript复制"wxid":我们前面第2步登录企业微信获取到的企业微信ID "agentid":我们前面第3步申请的企业微信应用获取的agentid “secret”:我们前面第3步申请的企业微信应用获取的Secret “qweather”:我们前面第5步申请的和风天气Key
SYS_CONFIG = {
# 企业微信企业ID,必填 申请地址:https://work.weixin.qq.com/
"wxid": "",
# 企业微信应用AgentId,必填
"agentid": "",
# 企业微信应用Secret,必填
"secret": "",
# 和风天气Key,非必填 申请地址: https://id.qweather.com/#/login
"qweather": "",
# 天气预报地址,非必填
# 格式:市-市/县/区,多地址以&&分隔
# 如:成都-双流&&成都-武侯
"city": "成都-武侯",
# 纪念日名称,非必填
# 周期性日子,每年都有的日子,多个日期以&&分隔
# 如:正式女朋友的生日&&小三的生日
"targetname": "正式女朋友的生日&&小三的生日",
# 纪念日日期,非必填
# 公历格式20XX-XX-XX,农历年份前加n
# 多日期以&&分隔,注意与targetname名称对应
# 如:2022-08-10&&n2021-08-15
"targetday": "2022-08-10&&n2021-08-15",
# 单日项目名称,非必填
# 只发生一次的日子,只有某一年有的日子,多日期以&&分隔
# 如:跟小三在一起&&见面
"beginname": "见面",
# 单日日期,非必填
# 公历格式20XX-XX-XX,农历年份前加n
# 多日期以&&分隔,注意与beginname名称对应
# 如:2022-08-15&&n2022-12-10
"beginday": "n2022-12-10",
# 图文类型,非必填
# 1为单图文,2为多图文,默认单图文
"msgtype": "1"
}
7、运行程序
首次运行程序按照以下步骤先安装依赖再执行:
代码语言:javascript复制pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
python send.py
8、配置手机微信接收消息
如果以上步骤都没有问题,那么此时此刻你就可以直接邀请Ta进入企业微信,然后绑定个人微信,就能在个人微信里面收到消息推送了,无需下载企业微信了哦,操作步骤如下:
- 把邀请关注二维码发给TA,手机微信扫码关注,会提示“点击验证身份,加入XXXX”,完成验证即可接收到后续消息。
- 企业微信后台-我的企业-微信插件,微信插件logo可以自定义,即你从微信看到这个企业的头像
- 找到邀请关注的二维码,使用个人微信号扫码关注,同时把设置中 允许成员在微信插件中接收和回复聊天消息打勾
- 企业微信移动端依次找到 -> 设置 -> 新消息通知 -> 仅在企业微信中接收消息 -> 取消所有勾选 -> 完成
- 不出意外就可以在微信收到推送消息了
常见问题
1、“No module named requests”?
答:执行命令出现“No module named requests”,说明函数没有找到依赖,先执行安装依赖命令。
2、“获取企业微信access_token失败”?
答:请检查wxId、agentid、secret参数是否填写正确,注意中英文格式标点问题。
3、没有找到XX这个地方/获取XXID失败?
答:请检查城市填写格式是否符合要求,格式市-市/区/县,不要携带市/区/县等后缀,例如成都-武侯。检查和风天气 qweather
是否填写正确,是否有多余空格字符。
4、其他错误?
答:请先检查配置信息是否填写正确,包括名称(key)的拼写是否正确,内容(value)的格式是否正确,值是否正确,是否有多余的空格。
若无法解决,请下载最新的程序包再按照教程重新仔细操作一遍试试。
5、如何修改模版?
答:参考配置文件 config.py
修改内容和日期即可。
6、部分内容展示不全?
答:受腾讯企业微信应用API限制,超出字数限制部分文字将自动截断不展示。图文展示页面不受此限制,但仍受图片链接长度和文字长度的限制,请适当调整多地区天气、多日期提醒等内容。
倾听
大家想了解什么黑科技,可以在评论区留言,包括但不限于程序相关、电脑技巧、软件资源、娱乐资源等。
免责声明:本公众号提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本公众号信息来自网络收集整理,版权争议与本公众号无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请公众号小窗与我们联系,敬请谅解!