-
Notifications
You must be signed in to change notification settings - Fork 230
微信授权
gusibi edited this page Apr 23, 2019
·
5 revisions
微信PC登录使用示例:
Weixin API 使用 OAuth2 认证方式 详情见: https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&lang=zh_CN
具体使用方法参考 sample app
Using an access token
获取到access token 后,可以使用token 获取 用户信息等:
from weixin.client import WeixinAPI
scope = ("snsapi_login", )
api = WeixinAPI(appid=APP_ID,
app_secret=APP_SECRET,
redirect_uri=REDIRECT_URI)
authorize_url = api.get_authorize_url(scope=scope)
access_token = api.exchange_code_for_access_token(code=code)
api = WeixinAPI(access_token=access_token)
user = api.user(openid="openid")
微信公号授权示例:
from weixin.client import WeixinMpAPI
scope = ("snsapi_base", )
api = WeixinMpAPI(appid=APP_ID,
app_secret=APP_SECRET,
redirect_uri=REDIRECT_URI)
authorize_url = api.get_authorize_url(scope=scope)
access_token = api.exchange_code_for_access_token(code=code)
api = WeixinMpAPI(access_token=access_token)
user = api.user(openid="openid")
微信小程序授权
from weixin import WXAPPAPI
from weixin.lib.wxcrypt import WXBizDataCrypt
api = WXAPPAPI(appid=APP_ID,
app_secret=APP_SECRET)
session_info = api.exchange_code_for_session_key(code=code)
# 获取session_info 后
session_key = session_info.get('session_key')
crypt = WXBizDataCrypt(WXAPP_APPID, session_key)
# encrypted_data 包括敏感数据在内的完整用户信息的加密数据
# iv 加密算法的初始向量
# 这两个参数需要js获取
user_info = crypt.decrypt(encrypted_data, iv)