Python实现微信模板消息推送功能详解
本文介绍如何利用Python调用微信接口发送模板消息。通过获取access_token,构建包含用户openid、模板ID及内容参数的JSON数据,使用httplib发起POST请求至微信服务器,并处理返回结果实现消息推送功能。
本文详细介绍Python实现微信模板消息推送的具体方法,旨在为相关开发者提供实用的参考方案。
相关功能的官方文档地址为:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1445241432
具体的实现代码如下所示:
#!/usr/bin/env python
#-*- coding: utf-8 -*-
import httplib
import json
import MySQLdb
#从数据库中获取access_token
access_token=""
try:
conn=MySQLdb.connect(host='192.168.1.1',user='root',passwd='root',db='db_weixin',port=3306)
cur=conn.cursor()
cur.execute('select access_token from weixin_public')
result=cur.fetchone()
#print result
#print result[0]
access_token=result[0]
cur.close()
conn.close()
except MySQLdb.Error,e:
print "Mysql Error %d: %s" % (e.args[0], e.args[1])
#根据接口推送消息
if not access_token is None:
conn = httplib.HTTPConnection("api.weixin.qq.com:80")#微信接口链接
headers = {"Content-type":"application/json"} #application/x-www-form-urlencoded
params = ({'touser' : "oEGZ4johnKOtayJbnEVeuaZr6zQ0",#用户openid
'template_id' : 'AtFuydv8k_15UGZuFntaBzJRCsHCkjNm1dcWD3A-11Y',#模板消息ID
'url' : 'https://www.jb51.net',#跳转链接
"topcolor" : "#667F00",#颜色
"data" : {#模板内容
"first" : {"value" : "尊敬的710.so : 您的网站https://www.jb51.net (192.168.1.1) 有异常访问", "color" : "#173177"},
"keyword1" : {"value" : "访问时间 2015-04-05 15:30:59 访问IP 192.168.1.2", "color" : "#173177"},
"keyword2" : {"value" : "访问链接 https://www.jb51.net", "color" : "#173177"},
"remark" : {"value" : "访问频率 10/s", "color" : "#173177"}
}
}
)
conn.request("POST", "/cgi-bin/message/template/send?access_token="+access_token, json.JSONEncoder().encode(params), headers)#推送消息请求
response = conn.getresponse()
data = response.read()#推送返回数据
if response.status == 200:
print 'success'
print data
else:
print 'fail'
conn.close()
如需了解更多Python编程技巧,建议查阅本站的《Python字符串操作技巧汇总》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》以及《Python入门与进阶经典教程》等专题文章。
期望上述内容能对读者的Python程序设计工作提供有效的帮助。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













