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

作者:lichdiamond 时间:2022-09-30 19:45:19 

本文实例讲述了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程序设计有所帮助。

来源:http://diamondlich.blog.51cto.com/11893809/1872676

标签:Python,微信,推送
0
投稿

猜你喜欢

  • 解决Navicat for MySQL 连接 MySQL 报2005错误的问题

    2024-01-16 13:13:26
  • mysql启用skip-name-resolve模式时出现Warning的处理办法

    2024-01-20 06:44:58
  • asp任何取得多个表单的值

    2008-04-15 15:31:00
  • vuejs使用axios异步访问时用get和post的实例讲解

    2024-05-02 16:56:49
  • Python3中urlopen()的用法解读

    2023-11-22 20:26:19
  • python 日期排序的实例代码

    2023-12-02 16:09:35
  • 详解常用查找数据结构及算法(Python实现)

    2023-02-27 02:03:21
  • 小型分页的设计

    2011-08-18 18:32:26
  • js getElementsByTagName的简写方式

    2024-04-17 09:56:27
  • 不得不承认:韩国的 Web 设计很唯美

    2009-05-13 13:26:00
  • Python 串口读写的实现方法

    2021-04-24 13:25:12
  • pytorch学习教程之自定义数据集

    2021-06-09 03:13:16
  • 妙用dw图层与表格进行网页布局

    2009-07-14 21:57:00
  • python3中替换python2中cmp函数的实现

    2021-08-15 01:42:41
  • python+opencv实现的简单人脸识别代码示例

    2021-06-15 01:02:27
  • NumPy索引与切片的用法示例总结

    2022-05-13 19:33:38
  • Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例

    2023-06-09 02:51:16
  • PyCharm上安装Package的实现(以pandas为例)

    2021-09-21 12:26:30
  • 一行代码实现Python动态加载依赖

    2021-11-22 19:10:39
  • python使用Pandas库提升项目的运行速度过程详解

    2021-07-21 12:42:29
  • asp之家 网络编程 m.aspxhome.com