python获取微信用户基本信息
来源:互联网 发布:商陆花软件是什么 编辑:程序博客网 时间:2024/06/06 01:36
python获取微信用户基本信息
今天把微信常用的一些基本知识整理了一下,发现以前用Java调取的微信用户信息照样可以用python来完成,而且代码量很少,个人觉得比Java简洁明了多了。下面一起来看一下代码,写的不好勿喷。
在确保微信公众账号拥有授权作用域(scope参数)的权限的前提下(服务号获得高级接口后,默认拥有scope参数中的snsapi_base和snsapi_userinfo),引导关注者打开如下页面:
以scope为snsapi_userinfo为例 :
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect
首先需要定义一些全局变量和加载引用的包,我引用了flask、urllib、json这些基本包。appID和AppSecret应该都看的懂吧,具体一些参数看https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842
# encoding=utf-8from flask import Flask,requestimport urllib.requestimport jsonappID="......"AppSecret="......"url_code = "https://api.weixin.qq.com/sns/oauth2/access_token?appid={appid}&secret={appsecret}&code={code}&grant_type=authorization_code"url_retoken = "https://api.weixin.qq.com/sns/oauth2/refresh_token?appid={appid}&grant_type=refresh_token&refresh_token={refresh_token}"url_info = "https://api.weixin.qq.com/sns/userinfo?access_token={access_token}&openid={openid}&lang=zh_CN"
根据flask路由来进行判断
app = Flask(__name__)@app.route('/pywx/getWeiXin')
接下来是我们如何获取基本信息的内容
def getCode(): #用户同意授权,获取code。通过微信服务器返回的code来获取 code = request.args.get('code') #code不为空进行操作 if code: #获取accessToken和openID accessToken = urllib.request.Request(url_code.format(appid=appID, appsecret=AppSecret, code=code)) res_data = urllib.request.urlopen(accessToken) res = res_data.read().decode('utf-8') res_json=json.loads(res)#转成json access_token=res_json["access_token"] refresh_token=res_json["refresh_token"] openid = res_json["openid"] #刷新access_token(可写可不写) getRefreshToken= urllib.request.Request(url_retoken.format(appid=appID,refresh_token=refresh_token)) res_data = urllib.request.urlopen(getRefreshToken) res_reToken = res_data.read().decode('utf-8') res_json = json.loads(res_reToken) # 转成json access_token = res_json["access_token"] #获取用户基本信息 getUserInfo = urllib.request.Request(url_info.format(access_token=access_token,openid=openid)) res_data = urllib.request.urlopen(getUserInfo) res = res_data.read().decode('utf-8') #返回的结果输入到网页 return res
最后我们执行一下语句
if __name__ == '__main__': #app.run(host="服务器地址",post=端口号,debug模式) app.run(port=7099,debug=True)
大功告成。但是还是有需要优化的地方,只是讲一个思路哦!
github:https://github.com/DIVIBEAR/pythonDemo/blob/master/demo/pywx/
阅读全文
0 0
- python获取微信用户基本信息
- 微信 获取用户基本信息
- 微信获取用户基本信息
- 微信获取用户基本信息
- 微信网页授权获取用户基本信息
- 微信高级接口获取用户基本信息
- 微信网页授权获取用户基本信息
- 微信网页授权获取用户基本信息
- 微信批量获取用户基本信息接口
- 微信开发 获取用户基本信息 php
- 微信授权php获取用户基本信息
- 微信开发获取用户基本信息
- 微信网页授权获取用户基本信息
- 微信网页授权获取用户基本信息
- 微信授权php获取用户基本信息
- java 获取微信用户基本信息
- 微信开发获取用户基本信息
- 微信公众号获取用户基本信息
- Oracle 数据库查询
- 2017/8/16训练日记(线段树简单入门)
- C++ 学习笔记
- 判断是否是IE浏览器以及IE浏览器的版本
- 一个小项目 --- C++实现内存泄漏检查器
- python获取微信用户基本信息
- Play on Words POJ
- error C2065: “m_Pic”: 未声明的标识符
- qualcomm平台camera bring up 分析
- 第一个Django项目
- 新的博客,新的开始。
- PHP代码执行漏洞
- python 元组、字符串及中文乱码处理、字典、集合详解
- 机器学习算法-决策树的剪枝