微信开发python api

PyWechatA的Python项目详细描述


# PyWechatAPI

[微信公众号](https://mp.weixin.qq.com)开发 Python API

## 快速开始
1. 安装PyWechatAPI(*还未上传)
```
pip install PyWechatAPI
```
2. 调用API示例
```python
# 初始化客户端
from flask import request
from wechat.client import WechatAPI

wechat = WechatAPI(
appid={{APPID}}, # 公众号唯一标识
secret={{SECRET}}, # 公众号授权密钥
redirect_uri={{REDIRECT_URI}} # 回调处理请求地址
)
```
3. 网页授权示例
```python
# 第一步,获取微信授权网址,可带上用户识别参数
authorize_url = wechat.get_authorize_url(state='User:%s' % ({{USER_ID}}))
# 将用户重定向到authorize_url,由用户在微信界面进行授权
# 授权结束,微信服务器会发送回调请求到 {{REDIRECT_URI}}
# 回调请求形如:HTTP GET {{REDIRECT_URI}}/?code=CODE&state=STATE

# 回调处理如下
# 首先判断用户是否授权
authorized = wechat.is_authorized(request.args)
if not authorized:
# Do something
raise Exception('用户没有授权')

# 第二步:通过code换取网页授权access_token
token = wechat.exchange_code(code=request.args['code']) # 请求失败会抛出异常

access_token = token['access_token'] # 网页授权接口调用凭证
expires_in = token['expires_in'] # access_token失效时间
refresh_token = token['refresh_token'] # 用户刷新access_token使用的令牌
openid = token['openid'] # 用户唯一标识,每个公众号唯一,不同公众号不同
scope = token['scope'] # 用户授权的作用域,使用逗号(,)分隔

# 第三步:刷新access_token(如果需要)
token = wechat.refresh_token(refresh_token=token['refresh_token'])

# 第四步:拉取用户信息(需scope为 snsapi_userinfo)
user_info = wechat.get_user_info(access_token=access_token, openid=openid)
```

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在java中的字符串字符下打印星号(*)   java在比较数据后得到错误的结果   java如何在使用JSP创建的网站中创建父子关系和处理?   java配置单元UDF:无法执行求值方法   java GAE项目Intellij远程调试在关闭时不释放端口   java按钮上的放大和缩小功能点击JfreeChart折线图?   java Selenium Chrome Web驱动程序SessionNotCreatedException   java由ADFactoryBuilder生成的线程工厂是线程安全的吗?   java将字符串[]传递给另一个类Android(使用intent)   我为什么要嘲笑java?   JavaLiferay门户不将对象从流程阶段发送到jsp   java我想在单击每个树节点时将要添加的信息放入jpanel jscrollpane中   在Java中模拟数组引用(即对引用的引用)的按引用传递   Jackson将JSON属性反序列化为不同的Java对象   java使用JSP/servlet在网页上显示Excel工作表?   仿射变换Java:使用仿射变换时游戏速度减慢   Servlet JBoss AS 7的java EJB注入   在Oracle数据库中使用Java的plsql   java管理Maven项目中的库依赖项   JavaEclipseLink(JPA)异常:复合主键@JoinColumn