让代码更简单

使用企业微信号实现推送服务

重要:本文最后更新于2021-08-23 10:51:27,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗

Server酱是一个专门做微信消息推送服务的,它是用企业微信号实现的,这个功能相信很多站长朋友都在用。由于该服务使用人数过多,现在已经限制每天只能发送5条消息,而且他们的消息必须得点击跳转到一个网页中查看,使用体验非常不好。其实企业微信官方是开放了API的,所以我们完全可以自己搭建一个微信消息推送服务。

首先去企业微信官网注册一个企业微信号,无需认证,注册即可用。https://work.weixin.qq.com/

然后打开我的企业,找到企业ID,复制下来等会儿用。

使用企业微信号实现推送服务

使用企业微信号实现推送服务

然后打开应用管理,创建一个应用,我们将通过这个应用发送微信消息。

使用企业微信号实现推送服务

使用企业微信号实现推送服务

创建成功后,复制应用的 AgentIdSecret ,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 文件

使用企业微信号实现推送服务

使用企业微信号实现推送服务

感觉很棒!可以赞赏支持我哟~

2 打赏

评论 (0)

登录后评论
QQ咨询 邮件咨询 狗哥推荐