设为首页 加入收藏

TOP

我的Python开发之路---微信网页授权(扫码登陆)(二)
2017-10-09 13:34:57 】 浏览:7825
Tags:Python 开发 --- 网页 授权 登陆
lf.Visit_Url(get_code_url)
45 if code: 46 return code 47 else: 48 print "Failure to obtain results" 49 50 def Get_Access_token(self): # 2 第二步:通过code换取网页授权access_token 51 code = self.Get_Code() 52 get_access_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=%s&secret=%s&code=%s&grant_type=authorization_code' % ( 53 self.appid, self.secret, code) 54 acc_token = self.Visit_Url(get_access_url) 55 if acc_token["errcode"]: 56 pass 57 if acc_token["access_token"]: 58 # access_token = json.loads(access_token) 59 access_token = acc_token["access_token"] 60 expires_in = acc_token["expires_in"] 61 refresh_token = acc_token["refresh_token"] 62 openid = acc_token["openid"] 63 scope = acc_token["scope"] 64 return access_token, openid, refresh_token 65 66 def Refresh_Access_token(self): # 3 第三步:刷新access_token(如果需要) 67 yu_zu = self.Get_Access_token() 68 refresh_token = yu_zu[2] 69 new_access_url = 'https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=%s&grant_type=refresh_token&refresh_token=%s' % ( 70 self.appid, refresh_token) 71 new_acc_token = self.Visit_Url(new_access_url) 72 if new_acc_token["errcode"]: 73 pass 74 if new_acc_token["access_token"]: 75 # access_token = json.loads(access_token) 76 access_token = new_acc_token["access_token"] 77 expires_in = new_acc_token["expires_in"] 78 refresh_token = new_acc_token["refresh_token"] 79 openid = new_acc_token["openid"] 80 scope = new_acc_token["scope"] 81 return access_token, openid 82 83 def Verify_Access_token(self): # 验证access_token是否有效 84 yu_zu = self.Refresh_Access_token() 85 access_token = yu_zu[0] 86 openid = yu_zu[1] 87 verify_url = 'https://api.weixin.qq.com/sns/auth?access_token=%s&openid=%s ' % ( 88 access_token, openid) 89 verify = self.Visit_Url(verify_url) 90 if verify["error"] == 0: 91 print "Succeed!!!" 92 return access_token, openid 93 else: 94 pass 95 96 def Get_Message(self): # 4 第四步:拉取用户信息(需scope为 snsapi_userinfo) 97 yu_zu = self.Verify_Access_token() 98 access_token = yu_zu[0] 99 openid = yu_zu[1] 100 user_message_url = 'https://api.weixin.qq.com/sns/userinfo?access_token=%s&openid=%s&lang=zh_CN' % ( 101 access_token, openid) 102 user_message = self.Visit_Url(user_message_url) 103 openid = user_message["openid"] 104 global openid 105 nickname = user_message["nickname"] 106 sex = user_message["sex"] 107 province = user_message["province"] 108 city = user_message["city"] 109 country = user_message["country"] 110 openheadimgurlid = user_message["headimgurl"] 111 privilege = user_message["privilege"] 112 unionid = user_message["unionid"] 113 return openid, nickname, sex, province, city, country, openheadimgurlid 114 115 def Insert_db(self): 116 pass 117 118 119 120 class Query_User_Tel: 121 def __init__(self, tel): 122 self.openid = openid 123 self.tel = tel 124 self.conn = MySQLdb.connect( 125 host='localhost', 126 user='root', 127 passwd='123456', 128 db='test', 129 port=3306 130 ) 131 132 def Judge_user(self)
首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Python学习——Python进程 下一篇学习笔记TF029:实现进阶卷积网络

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目