使用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发送企业微信消息相关推荐

  1. python实现由通知接口发送企业微信通知

    python实现由通知接口发送企业微信通知 问题背景 要点说明 1. 请求接口鉴权并返回token值 2.请求通知接口发送企业微信通知 3.通知内容中传入参数 问题背景 项目中需要通过 python ...

  2. jenkins使用python脚本发送企业微信通知

    如果只是想实现将jenkins的构建结果发送到企业微信进行通知,最简便的方式是安装Qy Wechat Notification Plugin插件,网上教程很多就不重复写了,可参考:https://ww ...

  3. 【Python】天气预报及雨量预警到企业微信群的代码实现

    最近打算做个关于天气主题的小程序,互联网上有免费的API可以查询天气预报,有降雨量和降雨概率,风向等指标可查,我选择了彩云天气和和风天气两个接口,和风用来做每天早上的关怀提醒,彩云用来每5分钟检测一次 ...

  4. 从零搭建微信机器人(一):注册企业微信创建应用

    从零搭建微信机器人(一):注册企业微信创建应用 从零搭建微信机器人(二):发送文本消息 从零搭建微信机器人(三):定时触发任务 从零搭建微信机器人(四):封装消息发送接口 文章目录 1. 简介 2. ...

  5. 企业微信应用设置可信域名_怎么设置企业微信朋友圈功能?企业微信朋友圈功能有哪些限制?...

    文丨 @语鹦企服私域管家 原创,本文为<企业微信私域流量玩法>专栏第24篇 有小伙伴给小企留言说:企业微信朋友圈功能开放了,请问怎么设置企业微信朋友圈功能?企业微信朋友圈功能有哪些限制? ...

  6. 企业微信三方开发:注册企业微信服务商

    其他链接 初识微信开发 企业微信三方开发:注册企业微信服务商 企业微信三方开发(一):回调验证及重要参数获取 企业微信三方开发(二):获取access_token 企业微信三方开发(三):网页授权登录 ...

  7. 钉钉通知-调用钉钉发送企业内部消息开发

    首先,我们要明确需求:自己的系统需要发送通知消息到用户,接收消息用户为同一企业内的人员,选用短信可能涉及到费用问题,故可以选用钉钉或者企业微信,在此我使用钉钉进行发送消息. 调用钉钉发送企业内部消息: ...

  8. 如何使用微信web开发者工具调试企业微信

    最近因工作需要围绕着企业微信来进行调试,从而掏出了我的微信web开发者工具,在进行授权的时候微信web开发者工具成功的提示了我:"您未绑定企业微信开发者权限".那么关键来了,因为我 ...

  9. 管理员拥有系统最高以及所有权限嘛_企业微信管理员是谁?企业微信管理员可以变更转让吗?...

    企业微信和个人微信虽然在聊天沟通,以及朋友圈功能上有很多相似之处.但企业微信明显有一个上下级管理的区别,其中管理员比微信群主的权限还要大.那么企业微信管理员是谁?其他人可以变成企业微信管理员吗?1 企 ...

  10. 微信如何保存文件?企业微信如何下载文件?

    我们经常用微信传输文件,用企业微信办公时也需要经常保存和下载文件,如何操作和设置呢? 个人微信如何保存文件? 大家对个人微信传输文件应该非常熟悉了,用"文件传输助手"可以很方便的将 ...

最新文章

  1. 中国首份自动驾驶路测报告:自主车企全面落后
  2. 纠错--跟我学Java第44页
  3. 2012年最后一天,终于盼到公司发报卡了
  4. c语言春考题目,PAT 2017年春考乙级真题(1066. 图像过滤)(C语言)
  5. Windows7部署WordPress傻瓜式教程-cnblogs
  6. 一加Nord 2外观渲染图曝光:小号“一加9” 价格有惊喜
  7. android系统开机画面_Android开机画面
  8. ISLR读书笔记十六:最大边际分类器(maximal margin classifier)
  9. PHP计算比较两段文字内容的重复率
  10. 无法定位程序输入点于动态链接库上的解决方法分享
  11. TEXT到EPUB格式转换
  12. IOS按钮排列自动换行
  13. 一条SQL返回多个统计求和
  14. Codingame - C - OnboardingThe Descent
  15. Windows系统操作指令
  16. 风控指标 —— KS
  17. Dijkstra算法证明图解
  18. 深度学习论文笔记(增量学习)——CVPR2020:Mnemonics Training: Multi-Class Incremental Learning without Forgetting
  19. IT培训——职业教育帮你更快成功
  20. Multisim、面包板、示波器的使用

热门文章

  1. Android Studio开发记录
  2. 关于DMM实现定位功能(二)—react-native-amap3d的配置简单使用
  3. 什么是软件需求,软件需求的分类
  4. Ant Design - Anchor
  5. android 连接蓝牙耳机 播放音乐,Android连接蓝牙耳机播放音乐
  6. 服务器cpu天梯图多核性能,2020年2月cpu处理器天梯图最新高清大图_处理器天梯排行榜...
  7. 电机与拖动(戚金清版)学习整理
  8. 学生成绩分析之成绩的预处理 python3 pandas 学生成绩汇总到一张表
  9. steam方舟服务器直连,方舟服务器在steam上等待发布 | 手游网游页游攻略大全
  10. springboot实现微信公众号群发消息功能