pythonは微信ユーザーの基本情報を取得する
4338 ワード
pythonは微信ユーザーの基本情報を取得する
今日、微信でよく使われている基本的な知識を整理してみると、以前Javaで抽出した微信ユーザー情報はpythonで完成することができ、コード量が少なく、個人的にはJavaよりずっと簡潔明瞭だと思います.コードを見てみましょう.よく書けません.
WeChatのパブリックアカウントが承認された役割ドメイン(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
flaskルーティングによる判断
次に、基本的な情報の取得方法について説明します.
最後に文を実行します
大功を成し遂げる.しかし、やはり最適化が必要なところがあります.ただ一つの考えを話していますよ.github:https://github.com/DIVIBEAR/pythonDemo/blob/master/demo/pywx/
今日、微信でよく使われている基本的な知識を整理してみると、以前Javaで抽出した微信ユーザー情報はpythonで完成することができ、コード量が少なく、個人的にはJavaよりずっと簡潔明瞭だと思います.コードを見てみましょう.よく書けません.
WeChatのパブリックアカウントが承認された役割ドメイン(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-8
from flask import Flask,request
import urllib.request
import json
appID="......"
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/