Python与企业微信-3

上一篇讲到了如何使用企业微信发送各种类型的信息。

本篇讲一下怎么跟自己的程序做关联,如:自己的程序跑完了之后,如何把结果通过企业微信通知。
在这里插入图片描述

实际例子没想好,就用刚才学的flask吧

思路:

1、定义一个函数A,写自己要做的事情
2、定义一个函数B,用来发送执行发送企业微信的动作
3、用flask做一个web接口
4、调用接口执行函数A。根据执行结果判断是否要发送企业微信通知

在说具体步骤之前,插一个小话题

关于企业微信的access_token的。那玩意儿时效性太短了。昨天生成的,今天就没用了。无奈,重写一下生成access_token的方法,让程序每次执行的时候都生成一次吧。

小话题的操作步骤:

新建access_token.py文件,写代码。其中cropid,secretid是从企业微信里获取的,我写到了文件里。不知道怎么获取的,可以参考下:https://blog.csdn.net/xkukeer/article/details/124124245?spm=1001.2014.3001.5501

import requests
import config

def get_access_token():
    url = f'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={config.cropid}&corpsecret={config.secretid}'
    r = requests.get(url)
    access_token = r.json()['access_token']
    return access_token

这段代码先放着,不用运行。over

小话题说完了。

具体实现步骤:

1、定义一个函数add:计算传入参数的值,并返回
2、定义发送企业微信send_text_message
3、做个flask的接口,路由给两个吧。一个/一个/add。
其中:/主要用于打开页面的时候别报错;
/add主要用于计算并发送消息

import requests
import json
import faker
from work_wechat import config
import access_token
from flask import Flask
fk = faker.Faker()
token = access_token.get_access_token()

def add(a,b):
   return a+b

def send_text_message():
   url = f"https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={token}&random=69152"
   data = json.dumps({
      "touser": config.touser,
      "toparty": config.toparty,
      "totag": config.totag,
      "msgtype": "text",
      "agentid": config.agentid_ceshi1,
      "text": {
         "content": "计算完成"
      },
      "safe": 0,
      "enable_id_trans": 0,
      "enable_duplicate_check": 0
   })
   headers = {
      'User-Agent': fk.user_agent(),
      'Content-Type': 'application/json'
   }

   response = requests.request("POST", url, headers=headers, data=data)
   print(response.text)
#----------------------------------------------------------------------------------------------------------------------
app = Flask(__name__)
@app.route('/')
def index():
   return 'hello world'
@app.route('/add/<int:a>+<int:b>')
def plus(a,b):
   if add(a, b) == 10:# 如果a+b的结果=10,就算成功。执行if后边的语句,发送企业微信消息
      result = 'success'
      send_text_message()#发送企业微信消息
      print(result)
   else:
      result = 'fail'# 如果a+b不等于10,则失败,不发送
      print(result)
   return result # 把结果打印到网页上





if __name__ == '__main__':
   app.run(port=8082,debug=True)   # 启动flask

代码完成,开始测试:

1、用2和8试下,结果如下:

在这里插入图片描述
企业微信接受到了消息
在这里插入图片描述

2、用2和1试下,结果如下:企业微信没收到消息

在这里插入图片描述

add()这个函数是我要做的事情
send_text_message()这个函数是发送消息的功能代码
flask里的plus()做了判断:要做的事情是否完成?如果完成了,就发消息通知;如果没完成就不发送(或者也可以发送,提示信息是失败)

那么按照这个思路,是否可以可以进行一些扩展?

比如:用于学生在线考试的成绩通知:
学生在线做题,交卷之后,自动执行后端的评分程序。把结果写入数据库,等所有人都交卷完成后,给班主任(学生)发通知,告诉班主任(学生)成绩。

比如:用于问卷收集的数据分析通知:
公司A给10000个用户发了调查问卷,客户填完后,结果入库。每天18.00给运营发送问卷回答情况以及问卷数据分析。等等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值