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 list转dict示例分享
Jan 28 Python
python实现的文件夹清理程序分享
Nov 22 Python
进一步了解Python中的XML 工具
Apr 13 Python
Python基于TCP实现会聊天的小机器人功能示例
Apr 09 Python
Python对象中__del__方法起作用的条件详解
Nov 01 Python
pygame游戏之旅 添加游戏介绍
Nov 20 Python
Python实现Linux监控的方法
May 16 Python
python实现随机漫步方法和原理
Jun 10 Python
python 基于dlib库的人脸检测的实现
Nov 08 Python
python实现两个一维列表合并成一个二维列表
Dec 02 Python
python 创建一维的0向量实例
Dec 02 Python
Python xlwt模块使用代码实例
Jun 10 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+javascript液晶时钟
2006/10/09 PHP
php类中的各种拦截器用法分析
2014/11/03 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
用javascript自动显示最后更新时间
2007/03/15 Javascript
jQuery 通过事件委派一次绑定多种事件,以减少事件冗余
2010/06/30 Javascript
jQuery LigerUI 插件介绍及使用之ligerDrag和ligerResizable示例代码打包
2011/04/06 Javascript
Jquery easyui 下loaing效果示例代码
2013/08/12 Javascript
现如今最流行的JavaScript代码规范
2014/03/08 Javascript
js的Prototype属性解释及常用方法
2014/05/08 Javascript
JS字符串false转boolean的方法(推荐)
2017/03/08 Javascript
JS实现的计数排序与基数排序算法示例
2017/12/04 Javascript
浅谈基于Vue.js的移动组件库cube-ui
2017/12/20 Javascript
基于webpack-hot-middleware热加载相关错误的解决方法
2018/02/22 Javascript
在Vue项目中使用d3.js的实例代码
2018/05/01 Javascript
[43:43]完美世界DOTA2联赛PWL S2 FTD.C vs Rebirth 第一场 11.22
2020/11/24 DOTA
Python实现决策树C4.5算法的示例
2018/05/30 Python
利用python画出折线图
2018/07/26 Python
Python UnboundLocalError和NameError错误根源案例解析
2018/10/31 Python
pytorch nn.Conv2d()中的padding以及输出大小方式
2020/01/10 Python
tensorflow 保存模型和取出中间权重例子
2020/01/24 Python
python编写俄罗斯方块
2020/03/13 Python
python 密码学示例——理解哈希(Hash)算法
2020/09/21 Python
calendar在python3时间中常用函数举例详解
2020/11/18 Python
CSS3实现菜单悬停效果
2020/11/17 HTML / CSS
.NET初级开发工程师面试题(包括Javascript)
2012/08/22 面试题
乡镇总工会学雷锋活动总结
2014/03/01 职场文书
管理学院毕业生自荐信范文
2014/03/10 职场文书
工程造价专业求职信
2014/07/17 职场文书
青年标兵事迹材料
2014/08/16 职场文书
民族团结好少年事迹材料
2014/08/19 职场文书
学习普通话的体会
2014/11/07 职场文书
2014年工会工作总结
2014/11/12 职场文书
拾金不昧感谢信
2015/01/21 职场文书
乡镇司法所2015年度工作总结
2015/10/14 职场文书
一篇文章弄清楚Ajax请求的五个步骤
2022/03/17 Javascript
解决Python保存文件名太长OSError: [Errno 36] File name too long
2022/05/11 Python