Python编程实现微信企业号文本消息推送功能示例


Posted in Python onAugust 21, 2017

本文实例讲述了Python微信企业号文本消息推送功能。分享给大家供大家参考,具体如下:

企业号的创建、企业号应用的创建、组、tag、part就不赘述了,一搜一大堆,但是网上拿的那些个脚本好多都不好使,所以自己修了一个

坦率的讲,这个脚本是用来作为zabbix的通知媒介脚本的,本人是个菜鸟,如果哪里不对,大神们不要笑话,python也处于学习阶段,如果有哪些地方不合理,很希望可以不吝赐教,废话不多说,脚本奉上:

#!/usr/bin/python
# _*_coding:utf-8 _*_
import urllib2
import json
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
def gettoken(corpid, corpsecret):
  gettoken_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + corpsecret
  try:
    token_file = urllib2.urlopen(gettoken_url)
  except urllib2.HTTPError as e:
    print e.code
    print e.read().decode("utf8")
    sys.exit()
  token_data = token_file.read().decode('utf-8')
  token_json = json.loads(token_data)
  token_json.keys()
  token = token_json['access_token']
  return token
def senddata(access_token, user, party, agent, subject, content):
  send_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + access_token
  send_values = "{\"touser\":\"" + user + "\",\"toparty\":\"" + party + "\",\"totag\":\"\",\"msgtype\":\"text\",\"agentid\":\"" + agent + "\",\"text\":{\"content\":\"" + subject + "\n" + content + "\"},\"safe\":\"0\"}"
  send_request = urllib2.Request(send_url, send_values)
  response = json.loads(urllib2.urlopen(send_request).read())
  print str(response)
if __name__ == '__main__':
  user = str(sys.argv[1]) # 参数1:发送给用户的账号,必须关注企业号,并对企业号有发消息权限
  party = str(sys.argv[2]) # 参数2:发送给组的id号,必须对企业号有权限
  agent = str(sys.argv[3]) # 参数3:企业号中的应用id
  subject = str(sys.argv[4]) # 参数4:标题【消息内容的一部分】
  content = str(sys.argv[5]) # 参数5:文本具体内容
  corpid = 'CorpID' # CorpID是企业号的标识
  corpsecret = 'corpsecretSecret' # corpsecretSecret是管理组凭证密钥
  try:
    accesstoken = gettoken(corpid, corpsecret)
    senddata(accesstoken, user, party, agent, subject, content)
  except Exception, e:
    print str(e) + "Error Please Check \"corpid\" or \"corpsecret\" Config"

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python实现的多线程端口扫描工具分享
Jan 21 Python
Zabbix实现微信报警功能
Oct 09 Python
从零开始学Python第八周:详解网络编程基础(socket)
Dec 14 Python
详解python读取和输出到txt
Mar 29 Python
python redis连接 有序集合去重的代码
Aug 04 Python
python selenium爬取斗鱼所有直播房间信息过程详解
Aug 09 Python
基于python实现从尾到头打印链表
Nov 02 Python
pandas的相关系数与协方差实例
Dec 27 Python
PIL包中Image模块的convert()函数的具体使用
Feb 26 Python
python实现梯度下降和逻辑回归
Mar 24 Python
详解Anaconda 的安装教程
Sep 23 Python
python实现腾讯滑块验证码识别
Apr 27 Python
Python编程之微信推送模板消息功能示例
Aug 21 #Python
使用Python写一个贪吃蛇游戏实例代码
Aug 21 #Python
virtualenv实现多个版本Python共存
Aug 21 #Python
基于Python对象引用、可变性和垃圾回收详解
Aug 21 #Python
python 垃圾收集机制的实例详解
Aug 20 #Python
python 实现tar文件压缩解压的实例详解
Aug 20 #Python
详解Python 序列化Serialize 和 反序列化Deserialize
Aug 20 #Python
You might like
php 强制下载文件实现代码
2013/10/28 PHP
php自动识别文件编码并转换为UTF-8的方法
2014/06/12 PHP
PHP判断网络文件是否存在的方法
2015/03/12 PHP
PHP+redis实现的购物车单例类示例
2019/02/02 PHP
JQuery select标签操作代码段
2010/05/16 Javascript
jquery提取元素里的纯文本不包含span等里的内容
2013/09/30 Javascript
jQuery解析XML与传统JavaScript方法的差别实例分析
2015/03/05 Javascript
详解JS面向对象编程
2016/01/24 Javascript
理解javascript封装
2016/02/23 Javascript
JS面向对象编程详解
2016/03/06 Javascript
js实现页面跳转的五种方法推荐
2016/03/10 Javascript
Bootstrap3制作自己的导航栏
2016/05/12 Javascript
javascript常用的设计模式
2017/02/09 Javascript
BootstrapTable refresh 方法使用实例简单介绍
2017/02/20 Javascript
Vue响应式添加、修改数组和对象的值
2017/03/20 Javascript
微信小程序实现YDUI的ScrollTab组件
2018/02/02 Javascript
js+SVG实现动态时钟效果
2018/07/14 Javascript
关于node-bindings无法在Electron中使用的解决办法
2018/12/18 Javascript
vue data恢复初始化数据的实现方法
2019/10/31 Javascript
vue-socket.io跨域问题有效解决方法
2020/02/11 Javascript
[05:37]DOTA2-DPC中国联赛 正赛 Elephant vs iG 选手采访
2021/03/11 DOTA
Python实现身份证号码解析
2015/09/01 Python
Python字典数据对象拆分的简单实现方法
2017/12/05 Python
详解Python中的type和object
2018/08/15 Python
python代码如何实现余弦相似性计算
2020/02/09 Python
Python基于codecs模块实现文件读写案例解析
2020/05/11 Python
如何让PyQt5中QWebEngineView与JavaScript交互
2020/10/21 Python
毕业生找工作推荐信
2013/11/21 职场文书
公司接待方案
2014/03/08 职场文书
服装发布会策划方案
2014/05/22 职场文书
小学生运动会广播
2015/08/19 职场文书
预备党员表决心的话
2015/09/22 职场文书
2016公司新年问候语
2015/11/11 职场文书
趣味运动会口号
2015/12/24 职场文书
大学生志愿者心得体会
2016/01/15 职场文书
解决Swagger2返回map复杂结构不能解析的问题
2021/07/02 Java/Android