Server酱是一个专门做微信消息推送服务的,它是用企业微信号实现的,这个功能相信很多站长朋友都在用。由于该服务使用人数过多,现在已经限制每天只能发送5条消息,而且他们的消息必须得点击跳转到一个网页中查看,使用体验非常不好。其实企业微信官方是开放了API的,所以我们完全可以自己搭建一个微信消息推送服务。
首先去企业微信官网注册一个企业微信号,无需认证,注册即可用。https://work.weixin.qq.com/
然后打开我的企业,找到企业ID,复制下来等会儿用。
然后打开应用管理,创建一个应用,我们将通过这个应用发送微信消息。
创建成功后,复制应用的 AgentId
与 Secret
,Secret有点坑,必须得通过企业微信客户端才能看到。
到此企业微信号注册成功,接下来我们就可以使用微信官方提供的API进行微信消息的推送了,不限量!
下面是一个简单的python企业微信消息推送代码
#!/usr/bin/env python # -*- coding: utf-8 -*- # !/usr/bin/env python # coding:utf-8 # file wechat.py import time import requests import json import flask,requests from flask_cors import * class WeChat: def __init__(self): self.CORPID = '你的企业ID' self.CORPSECRET = '你的应用Secret' self.AGENTID = '你的应用AgentId' self.TOUSER = "daimadog" # 接收者用户名 def _get_access_token(self): url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken' values = {'corpid': self.CORPID, 'corpsecret': self.CORPSECRET, } req = requests.post(url, params=values) data = json.loads(req.text) # print data return data["access_token"] def get_access_token(self): try: with open('./tmp/access_token.conf', 'r') as f: t, access_token = f.read().split() except: with open('./tmp/access_token.conf', 'w') as f: access_token = self._get_access_token() cur_time = time.time() f.write('/t'.join([str(cur_time), access_token])) return access_token else: cur_time = time.time() if 0 < cur_time - float(t) < 7260: return access_token else: with open('./access_token.conf', 'w') as f: access_token = self._get_access_token() f.write('/t'.join([str(cur_time), access_token])) return access_token def send_data_text(self, message): #msg = message.encode('utf-8') send_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + self.get_access_token() send_values = { "touser": self.TOUSER, "msgtype": "text", "agentid": self.AGENTID, "text": { "content": message }, "safe": "0" } send_msges=(bytes(json.dumps(send_values), 'utf-8')) respone = requests.post(send_url, send_msges) respone = respone.json() #当返回的数据是json串的时候直接用.json即可将respone转换成字典 return respone["errmsg"]
接收消息的用户名可以在企业微信后台的通讯录中看到,并修改。
注意:代码里用到文件保存 token
,偷懒没写创建文件夹的代码,所以会报错,自行手动在当前python文件目录下创建 tmp
文件夹并创建 access_token.conf
文件
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/aiops/242510.html