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的迭代器、生成器以及相关的itertools包
Apr 02 Python
用Python编写一个简单的Lisp解释器的教程
Apr 03 Python
[机器视觉]使用python自动识别验证码详解
May 16 Python
让Python脚本暂停执行的几种方法(小结)
Jul 11 Python
python解释器spython使用及原理解析
Aug 24 Python
python将字符串转变成dict格式的实现
Nov 18 Python
Python2与Python3的区别详解
Feb 09 Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
Feb 27 Python
Python中BeautifulSoup通过查找Id获取元素信息
Dec 07 Python
python 实现客户端与服务端的通信
Dec 23 Python
python 对xml解析的示例
Feb 27 Python
Python进程间的通信之语法学习
Apr 11 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实现网站插件机制的方法
2009/11/10 PHP
PHP实现的比较完善的购物车类
2014/12/02 PHP
php动态变量定义及使用
2015/06/10 PHP
PHP实现多文件上传的方法
2015/07/08 PHP
PHP使用MPDF类生成PDF的方法
2015/12/08 PHP
php简单构造json多维数组的方法示例
2017/06/08 PHP
PHP rsa加密解密算法原理解析
2020/12/09 PHP
js trim函数 去空格函数与正则集锦
2009/11/20 Javascript
Javascript 自定义类型方法小结
2010/03/02 Javascript
JavaScript代码复用模式实例分析
2012/12/02 Javascript
jquery 为a标签绑定click事件示例代码
2014/06/23 Javascript
jQuery简单操作cookie的插件实例
2016/01/13 Javascript
JSON与JS对象的区别与对比
2017/03/01 Javascript
JavaScript条件判断_动力节点Java学院整理
2017/06/26 Javascript
详解vue项目构建与实战
2017/06/27 Javascript
详解vue中在父组件点击按钮触发子组件的事件
2020/11/13 Javascript
Python新手实现2048小游戏
2015/03/31 Python
Django使用HttpResponse返回图片并显示的方法
2018/05/22 Python
浅谈Tensorflow由于版本问题出现的几种错误及解决方法
2018/06/13 Python
对python实时得到鼠标位置的示例讲解
2018/10/14 Python
pycharm debug功能实现跳到循环末尾的方法
2018/11/29 Python
Python开启线程,在函数中开线程的实例
2019/02/22 Python
python通过文本在一个图中画多条线的实例
2020/02/21 Python
python 基于wx实现音乐播放
2020/11/24 Python
英国儿童设计师服装的领先零售商:Base
2019/03/17 全球购物
设计部经理的岗位职责
2013/11/16 职场文书
夏季奶茶店创业计划书
2014/01/16 职场文书
2014迎新年晚会策划方案
2014/02/23 职场文书
大专生求职信
2014/06/29 职场文书
银行转正自我鉴定
2014/09/29 职场文书
2015年招聘工作总结
2014/12/12 职场文书
迁徙的鸟观后感
2015/06/09 职场文书
Python数据类型最全知识总结
2021/05/31 Python
Pytorch中Softmax与LogSigmoid的对比分析
2021/06/05 Python
python使用pymysql模块操作MySQL
2021/06/16 Python
使用 Apache Superset 可视化 ClickHouse 数据的两种方法
2021/07/07 Servers