python微信库有哪些_GitHub - zwczou/weixin-python: 微信SDK - 包括微信支付,微信公众号,微信登陆,微信消息处理等...
微信SDK
提供微信登陆,公众号管理,微信支付,微信消息的全套功能
文档目录
如果需要单独使用其中的某些模块,可以见文档目录的具体模块
如果需要组合在一起可以参考快速开始
目录
安装
使用pip
sudo pip install weixin-python
使用easy_install
sudo easy_install weixin-python
当前版本v0.5.7
功能
微信登陆
微信支付
微信公众号
微信消息
异常
父异常类名为 WeixinError
子异常类名分别为 WeixinLoginError WeixinPayError WeixinMPError WeixinMsgError
用法
参数
WEIXIN_TOKEN 必填,微信主动推送消息的TOKEN
WEIXIN_SENDER 选填,微信发送消息的发送者
WEIXIN_EXPIRES_IN 选填,微信推送消息的有效时间
WEIXIN_MCH_ID 必填,微信商户ID,纯数字
WEIXIN_MCH_KEY 必填,微信商户KEY
WEIXIN_NOTIFY_URL 必填,微信回调地址
WEIXIN_MCH_KEY_FILE 可选,如果需要用退款等需要证书的api,必选
WEIXIN_MCH_CERT_FILE 可选
WEIXIN_APP_ID 必填,微信公众号appid
WEIXIN_APP_SECRET 必填,微信公众号appkey
上面参数的必填都是根据具体开启的功能有关, 如果你只需要微信登陆,就只要选择 WEIXIN_APP_ID WEIXIN_APP_SECRET
微信消息
WEIXIN_TOKEN
WEIXIN_SENDER
WEIXIN_EXPIRES_IN
微信登陆
WEIXIN_APP_ID
WEIXIN_APP_SECRET
微信公众平台
WEIXIN_APP_ID
WEIXIN_APP_SECRET
微信支付
WEIXIN_APP_ID
WEIXIN_MCH_ID
WEIXIN_MCH_KEY
WEIXIN_NOTIFY_URL
WEIXIN_MCH_KEY_FILE
WEIXIN_MCH_CERT_FILE
初始化
如果使用flask
# -*- coding: utf-8 -*-
from datetime import datetime, timedelta
from flask import Flask, jsonify, request, url_for
from weixin import Weixin, WeixinError
app = Flask(__name__)
app.debug = True
# 具体导入配
# 根据需求导入仅供参考
app.config.from_object(dict(WEIXIN_APP_ID='', WEIXIN_APP_SECRET=''))
# 初始化微信
weixin = Weixin()
weixin.init_app(app)
# 或者
# weixin = Weixin(app)
如果不使用flask
# 根据需求导入仅供参考
config = dict(WEIXIN_APP_ID='', WEIXIN_APP_SECRET='')
weixin = Weixin(config)
微信消息
如果使用django,添加视图函数为
url(r'^/$', weixin.django_view_func(), name='index'),
如果为flask,添加视图函数为
app.add_url_rule("/", view_func=weixin.view_func)
@weixin.all
def all(**kwargs):
"""
监听所有没有更特殊的事件
"""
return weixin.reply(kwargs['sender'], sender=kwargs['receiver'], content='all')
@weixin.text()
def hello(**kwargs):
"""
监听所有文本消息
"""
return "hello too"
@weixin.text("help")
def world(**kwargs):
"""
监听help消息
"""
return dict(content="hello world!")
@weixin.subscribe
def subscribe(**kwargs):
"""
监听订阅消息
"""
print kwargs
return "欢迎订阅我们的公众号"
微信登陆
@app.route("/login")
def login():
"""登陆跳转地址"""
openid = request.cookies.get("openid")
next = request.args.get("next") or request.referrer or "/",
if openid:
return redirect(next)
callback = url_for("authorized", next=next, _external=True)
url = weixin.authorize(callback, "snsapi_base")
return redirect(url)
@app.route("/authorized")
def authorized():
"""登陆回调函数"""
code = request.args.get("code")
if not code:
return "ERR_INVALID_CODE", 400
next = request.args.get("next", "/")
data = weixin.access_token(code)
openid = data.openid
resp = redirect(next)
expires = datetime.now() + timedelta(days=1)
resp.set_cookie("openid", openid, expires=expires)
return resp
微信支付
注意: 微信网页支付的timestamp参数必须为字符串
@app.route("/pay/jsapi")
def pay_jsapi():
"""微信网页支付请求发起"""
try:
out_trade_no = weixin.nonce_str
raw = weixin.jsapi(openid="openid", body=u"测试", out_trade_no=out_trade_no, total_fee=1)
return jsonify(raw)
except WeixinError, e:
print e.message
return e.message, 400
@app.route("/pay/notify")
def pay_notify():
"""
微信异步通知
"""
data = weixin.to_dict(request.data)
if not weixin.check(data):
return weixin.reply("签名验证失败", False)
# 处理业务逻辑
return weixin.reply("OK", True)
if __name__ == '__main__':
app.run(host="0.0.0.0", port=9900)
微信公众号
注意: 如果使用分布式,需要自己实现access_token跟jsapi_ticket函数
access_token默认保存在~/.access_token
jsapi_ticket默认保存在~/.jsapi_ticket
默认在(HOME)目录下面,如果需要更改到指定的目录,可以导入库之后修改,如下
import weixin
DEFAULT_DIR = "/tmp"
获取公众号唯一凭证
weixin.access_token
获取ticket
weixin.jsapi_ticket
创建临时qrcode
data = weixin.qrcode_create(123, 30)
print weixin.qrcode_show(data.ticket)
创建永久性qrcode
# scene_id类型
weixin.qrcode_create_limit(123)
# scene_str类型
weixin.qrcode_create_limit("456")
长链接变短链接
weixin.shorturl("http://example.com/test")
python微信库有哪些_GitHub - zwczou/weixin-python: 微信SDK - 包括微信支付,微信公众号,微信登陆,微信消息处理等...相关推荐
- 如何用python爬取公众号文章搜狗微信搜索_python如何爬取搜狗微信公众号文章永久链接的思路解析...
这篇文章主要介绍了python如何爬取搜狗微信公众号文章永久链接的思路解析 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧. 本文主要讲解思路,代码部分请自行解决搜狗微信 ...
- 视频教程-基于python的微信公众号开发教程-微信开发
基于python的微信公众号开发教程 微信企业号星级会员.10多年软件从业经历,国家级软件项目负责人,主要从事软件研发.软件企业员工技能培训.已经取得计算机技术与软件资格考试(软考)--"信 ...
- 60-硅谷课堂6-硅谷课堂-公众号消息和微信授权-- 笔记
60-硅谷课堂6-硅谷课堂-公众号消息和微信授权-- 笔记 笔记内容来源与尚硅谷教学视频 文章目录 60-硅谷课堂6-硅谷课堂-公众号消息和微信授权-- 笔记 笔记中涉及资源: 一.公众号普通消息 ① ...
- 硅谷课堂第十一课-公众号消息和微信授权
硅谷课堂第十二天-公众号消息和微信授权登录 文章目录 硅谷课堂第十二天-公众号消息和微信授权登录 一.公众号普通消息 1.实现目标 2.消息接入 2.1.公众号服务器配置 2.2.验证来自微信服务器消 ...
- 硅谷课堂 12_公众号消息和微信授权登录
硅谷课堂第十二天-公众号消息和微信授权登录 文章目录 硅谷课堂第十二天-公众号消息和微信授权登录 一.公众号普通消息 1.实现目标 2.消息接入 2.1.公众号服务器配置 2.2.验证来自微信服务器消 ...
- 微信公众号开发之微信网页授权获取用户个人信息
说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 一丶概述 微信网页授权 如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑 ...
- 想在微信上使用chatGPT?小程序?公众号?企业微信,最终还是选择了企业微信版本的chatgpt
chatgpt的接口现在都可以正常用了,但是怎么把这个功能放在手机上随用随开呢? 微信个人聊天版本 小程序版本 公众号版本 企业微信版本 逻辑 实现方式 微信个人聊天版本 网上很多微信机器人版本的,但 ...
- 基于Jsoup实现搜狗微信搜索文章获取链接、搜索公众号信息、微信登录以及登出
2020-03-20更新 已上传至GitHub:https://github.com/Aquarius-Seven/demo-jsoup.git,相比CSDN资源,CommonUtil增加了一个处理需 ...
- php微信公众号支付实例教程,php微信支付之公众号支付功能
这篇文章主要为大家详细介绍了php微信支付之公众号支付功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 网上的很多PHP微信扫码支付接入教程都颇为复杂,且需要配置和引入较多的文件,本人通过整理后 ...
最新文章
- MySQL☞dual虚拟表
- 粒子群算法(1)----粒子群简要
- Mashmokh and Numbers CodeForces - 415C
- Boost:mighty bimap强大的双图的测试程序
- 图书管理员【2017年普及组第二题】
- python画各种统计图的特点_Python 分词并画出词频统计图 | 睿鑫网络
- 【牛客 - 318L】彪神666(水题,半高精度,递推,trick)
- 容器服务Windows Kubernetes使用阿里云日志服务来收集容器日志
- git tig使用技巧_如何使用Tig浏览Git日志
- 深度学习 GPU环境 Ubuntu 16.04 + Nvidia GTX 1080 + Python 3.6 + CUDA 9.
- webapp中的meta
- 图片 button 去背景色_不会PS没关系,用Word更换证件照背景色只要10秒!
- python 螺旋数组_奇技淫巧 - Python绘制各种简单优美曲线
- opencore添加Linux引导,黑苹果OpenCore引导详细教程
- 在CTeX上编码论文《杂谈勾股定理》及论文式样
- 科技改变世界,科技改变世界杯
- 从线代角度图解:通解、特解、非齐次通解、非齐次特解、齐次通解、齐次特解
- Android开发之关机广播
- 【51nod】3121 小陶与杠铃片
- harmonyos和emui 11概念股,从 EMUI11 到 HarmonyOS,华为 UX 设计的思考与传承