python开发企业微信应用,使用Python发送企业微信消息
使用Python发送企业微信消息
发布时间:2020-07-03 04:10:28
来源:51CTO
阅读:1015
作者:猫猫maomao
准备工作:
到企业微信官网,注册一个企业;登录企业微信后台,创建一个“自建”应用, 获取企业ID、agentid、secret这3个必要的参数;在企业微信的通讯录中,创建多个测试账号;在手机端安装“企业微信”APP,使用测试账号登录到企业微信,准备接收消息。
程序代码:
企业微信提供API开发接口,通过HTTPS的GET、POST方法与企业微信后台进行交互,完成获取令牌、发送数据、获取数据的操作。
Python代码主要使用requests库,将企业微信API进行简单封装,模拟https的GET、POST操作,向指定的用户发送企业微信消息。#!/usr/bin/env python
# -*- coding: utf-8 -*-
import time
import requests
import json
class WeChat:
def __init__(self):
self.CORPID = 'ww2e1234567895498f5498f' #企业ID,在管理后台获取
self.CORPSECRET = 'xy11234567898hk_ecJ123456789DhKy4_1y12345OI'#自建应用的Secret,每个自建应用里都有单独的secret
self.AGENTID = '1000002' #应用ID,在后台应用中获取
self.TOUSER = "maomao|dingding" # 接收者用户名,多个用户用|分割
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)
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
return access_token
else:
with open('./tmp/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(self, message):
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"]
if __name__ == '__main__':
wx = WeChat()
wx.send_data("这是程序发送的第1条消息!\n Python程序调用企业微信API,从自建应用“告警测试应用”发送给管理员的消息!")
wx.send_data("这是程序发送的第2条消息!")
运行截图:
参考链接:
python实现通过企业微信发送消息
https://www.cnblogs.com/bluezms/p/8948187.html
python脚本--用企业微信实现发送信息
https://blog.csdn.net/liyyzz33/article/details/86080936
企业微信后台管理:
https://work.weixin.qq.com/
企业微信API文档:
https://work.weixin.qq.com/api/doc#90000/90003/90487
python开发企业微信应用,使用Python发送企业微信消息相关推荐
- python实现由通知接口发送企业微信通知
python实现由通知接口发送企业微信通知 问题背景 要点说明 1. 请求接口鉴权并返回token值 2.请求通知接口发送企业微信通知 3.通知内容中传入参数 问题背景 项目中需要通过 python ...
- jenkins使用python脚本发送企业微信通知
如果只是想实现将jenkins的构建结果发送到企业微信进行通知,最简便的方式是安装Qy Wechat Notification Plugin插件,网上教程很多就不重复写了,可参考:https://ww ...
- 【Python】天气预报及雨量预警到企业微信群的代码实现
最近打算做个关于天气主题的小程序,互联网上有免费的API可以查询天气预报,有降雨量和降雨概率,风向等指标可查,我选择了彩云天气和和风天气两个接口,和风用来做每天早上的关怀提醒,彩云用来每5分钟检测一次 ...
- 从零搭建微信机器人(一):注册企业微信创建应用
从零搭建微信机器人(一):注册企业微信创建应用 从零搭建微信机器人(二):发送文本消息 从零搭建微信机器人(三):定时触发任务 从零搭建微信机器人(四):封装消息发送接口 文章目录 1. 简介 2. ...
- 企业微信应用设置可信域名_怎么设置企业微信朋友圈功能?企业微信朋友圈功能有哪些限制?...
文丨 @语鹦企服私域管家 原创,本文为<企业微信私域流量玩法>专栏第24篇 有小伙伴给小企留言说:企业微信朋友圈功能开放了,请问怎么设置企业微信朋友圈功能?企业微信朋友圈功能有哪些限制? ...
- 企业微信三方开发:注册企业微信服务商
其他链接 初识微信开发 企业微信三方开发:注册企业微信服务商 企业微信三方开发(一):回调验证及重要参数获取 企业微信三方开发(二):获取access_token 企业微信三方开发(三):网页授权登录 ...
- 钉钉通知-调用钉钉发送企业内部消息开发
首先,我们要明确需求:自己的系统需要发送通知消息到用户,接收消息用户为同一企业内的人员,选用短信可能涉及到费用问题,故可以选用钉钉或者企业微信,在此我使用钉钉进行发送消息. 调用钉钉发送企业内部消息: ...
- 如何使用微信web开发者工具调试企业微信
最近因工作需要围绕着企业微信来进行调试,从而掏出了我的微信web开发者工具,在进行授权的时候微信web开发者工具成功的提示了我:"您未绑定企业微信开发者权限".那么关键来了,因为我 ...
- 管理员拥有系统最高以及所有权限嘛_企业微信管理员是谁?企业微信管理员可以变更转让吗?...
企业微信和个人微信虽然在聊天沟通,以及朋友圈功能上有很多相似之处.但企业微信明显有一个上下级管理的区别,其中管理员比微信群主的权限还要大.那么企业微信管理员是谁?其他人可以变成企业微信管理员吗?1 企 ...
- 微信如何保存文件?企业微信如何下载文件?
我们经常用微信传输文件,用企业微信办公时也需要经常保存和下载文件,如何操作和设置呢? 个人微信如何保存文件? 大家对个人微信传输文件应该非常熟悉了,用"文件传输助手"可以很方便的将 ...
最新文章
- 中国首份自动驾驶路测报告:自主车企全面落后
- 纠错--跟我学Java第44页
- 2012年最后一天,终于盼到公司发报卡了
- c语言春考题目,PAT 2017年春考乙级真题(1066. 图像过滤)(C语言)
- Windows7部署WordPress傻瓜式教程-cnblogs
- 一加Nord 2外观渲染图曝光:小号“一加9” 价格有惊喜
- android系统开机画面_Android开机画面
- ISLR读书笔记十六:最大边际分类器(maximal margin classifier)
- PHP计算比较两段文字内容的重复率
- 无法定位程序输入点于动态链接库上的解决方法分享
- TEXT到EPUB格式转换
- IOS按钮排列自动换行
- 一条SQL返回多个统计求和
- Codingame - C - OnboardingThe Descent
- Windows系统操作指令
- 风控指标 —— KS
- Dijkstra算法证明图解
- 深度学习论文笔记(增量学习)——CVPR2020:Mnemonics Training: Multi-Class Incremental Learning without Forgetting
- IT培训——职业教育帮你更快成功
- Multisim、面包板、示波器的使用
热门文章
- Android Studio开发记录
- 关于DMM实现定位功能(二)—react-native-amap3d的配置简单使用
- 什么是软件需求,软件需求的分类
- Ant Design - Anchor
- android 连接蓝牙耳机 播放音乐,Android连接蓝牙耳机播放音乐
- 服务器cpu天梯图多核性能,2020年2月cpu处理器天梯图最新高清大图_处理器天梯排行榜...
- 电机与拖动(戚金清版)学习整理
- 学生成绩分析之成绩的预处理 python3 pandas 学生成绩汇总到一张表
- steam方舟服务器直连,方舟服务器在steam上等待发布 | 手游网游页游攻略大全
- springboot实现微信公众号群发消息功能