微信公众号第三方平台开发PYTHON教程 PART 3
来源:互联网 发布:南师大图书馆数据库 编辑:程序博客网 时间:2024/05/22 12:09
github地址:cppfun@wechat-open-third-party-dev
微信公众号第三方平台开发python教程 Part 1
微信公众号第三方平台开发python教程 Part 2
继续第三节,获取预授权码pre_auth_code,这个就比较简单了。我们来看代码实现:
def get_pre_auth_code(self):
# load file
json_file = open('pre_auth_code.json')
data = json.load(json_file)
json_file.close()
pre_auth_code = data['pre_auth_code']
now = time.time()
if data['expire_time'] < now:
url = "https://api.weixin.qq.com/cgi-bin/component/api_create_preauthcode?component_access_token=%s"\
% self.get_com_access_token()
payload = {'component_appid': self.component_appid}
headers = {'content-type': 'application/json'}
response = requests.post(url, data=json.dumps(payload), headers=headers)
pre_auth_code = json.loads(response.text)['pre_auth_code']
data['pre_auth_code'] = pre_auth_code
data['expire_time'] = int(now) + 1100
# save file
json_file = open('pre_auth_code.json', 'w')
json_file.write(json.dumps(data))
json_file.close()
return pre_auth_code
# load file
json_file = open('pre_auth_code.json')
data = json.load(json_file)
json_file.close()
pre_auth_code = data['pre_auth_code']
now = time.time()
if data['expire_time'] < now:
url = "https://api.weixin.qq.com/cgi-bin/component/api_create_preauthcode?component_access_token=%s"\
% self.get_com_access_token()
payload = {'component_appid': self.component_appid}
headers = {'content-type': 'application/json'}
response = requests.post(url, data=json.dumps(payload), headers=headers)
pre_auth_code = json.loads(response.text)['pre_auth_code']
data['pre_auth_code'] = pre_auth_code
data['expire_time'] = int(now) + 1100
# save file
json_file = open('pre_auth_code.json', 'w')
json_file.write(json.dumps(data))
json_file.close()
return pre_auth_code
这里pre_auth_code的有效期是20分钟,同样我们也把它封装到class WxOpenSDK中,class WxOpenSDK的代码如下:
class WxOpenSDK:
def __init__(self, ticket):
self.component_appid = component_appid
self.component_appsecret = component_appsecret
self.ticket = ticket
# something below...
def get_com_access_token(self):
# load file
json_file = open('com_access_token.json')
data = json.load(json_file)
json_file.close()
component_access_token = data['component_access_token']
now = time.time()
if data['expire_time'] < now:
url = "https://api.weixin.qq.com/cgi-bin/component/api_component_token"
payload = {'component_appid': self.component_appid,
'component_appsecret': self.component_appsecret,
'component_verify_ticket': self.ticket}
headers = {'content-type': 'application/json'}
response = requests.post(url, data=json.dumps(payload), headers=headers)
component_access_token = json.loads(response.text)['component_access_token']
data['component_access_token'] = component_access_token
data['expire_time'] = int(now) + 7000
# save file
json_file = open('com_access_token.json', 'w')
json_file.write(json.dumps(data))
json_file.close()
return component_access_token
def get_pre_auth_code(self):
# load file
json_file = open('pre_auth_code.json')
data = json.load(json_file)
json_file.close()
pre_auth_code = data['pre_auth_code']
now = time.time()
if data['expire_time'] < now:
url = "https://api.weixin.qq.com/cgi-bin/component/api_create_preauthcode?component_access_token=%s"\
% self.get_com_access_token()
payload = {'component_appid': self.component_appid}
headers = {'content-type': 'application/json'}
response = requests.post(url, data=json.dumps(payload), headers=headers)
pre_auth_code = json.loads(response.text)['pre_auth_code']
data['pre_auth_code'] = pre_auth_code
data['expire_time'] = int(now) + 1100
# save file
json_file = open('pre_auth_code.json', 'w')
json_file.write(json.dumps(data))
json_file.close()
return pre_auth_code
# others code
def __init__(self, ticket):
self.component_appid = component_appid
self.component_appsecret = component_appsecret
self.ticket = ticket
# something below...
def get_com_access_token(self):
# load file
json_file = open('com_access_token.json')
data = json.load(json_file)
json_file.close()
component_access_token = data['component_access_token']
now = time.time()
if data['expire_time'] < now:
url = "https://api.weixin.qq.com/cgi-bin/component/api_component_token"
payload = {'component_appid': self.component_appid,
'component_appsecret': self.component_appsecret,
'component_verify_ticket': self.ticket}
headers = {'content-type': 'application/json'}
response = requests.post(url, data=json.dumps(payload), headers=headers)
component_access_token = json.loads(response.text)['component_access_token']
data['component_access_token'] = component_access_token
data['expire_time'] = int(now) + 7000
# save file
json_file = open('com_access_token.json', 'w')
json_file.write(json.dumps(data))
json_file.close()
return component_access_token
def get_pre_auth_code(self):
# load file
json_file = open('pre_auth_code.json')
data = json.load(json_file)
json_file.close()
pre_auth_code = data['pre_auth_code']
now = time.time()
if data['expire_time'] < now:
url = "https://api.weixin.qq.com/cgi-bin/component/api_create_preauthcode?component_access_token=%s"\
% self.get_com_access_token()
payload = {'component_appid': self.component_appid}
headers = {'content-type': 'application/json'}
response = requests.post(url, data=json.dumps(payload), headers=headers)
pre_auth_code = json.loads(response.text)['pre_auth_code']
data['pre_auth_code'] = pre_auth_code
data['expire_time'] = int(now) + 1100
# save file
json_file = open('pre_auth_code.json', 'w')
json_file.write(json.dumps(data))
json_file.close()
return pre_auth_code
# others code
这节也很简单吧,enjoy it。
接下来我们进行第四节的讲解。
0 0
- 微信公众号第三方平台开发PYTHON教程 PART 3
- 微信公众号第三方平台开发PYTHON教程 PART 1
- 微信公众号第三方平台开发PYTHON教程 PART 2
- 微信公众号第三方平台开发PYTHON教程 PART 4
- 微信公众号第三方平台开发PYTHON教程 PART 5
- 微信公众号第三方平台开发PYTHON教程 PART 6
- 微信公众号第三方平台开发PYTHON教程 PART 7
- 微信公众号第三方平台开发PYTHON教程 PART 8
- 微信公众号第三方平台开发PYTHON教程 PART 9
- 微信开放平台 公众号第三方平台开发 教程二 创建公众号第三方平台
- 微信开放平台公众号第三方平台开发 教程一 平台介绍
- 微信开放平台公众号第三方平台开发 教程一 平台介绍
- 微信开放平台公众号第三方平台开发 教程一 平台介绍
- 微信开放平台 公众号第三方平台开发 教程三 一键登录授权给第三方平台
- 微信公众号第三方开发之一创建微信公众号第三方平台
- 微信开放平台 公众号第三方平台开发 教程五 代公众号发起网页授权源码
- 微信公众号第三方平台开发 授权流程
- 微信公众号第三方平台开发笔记--01创建第三方平台
- sqlserver中user是一个关键字,不要用它作为表名,否则会报错。
- 【Unity】今天研究了一个基于Blur的文字外发光(文字描边)shader
- POJ 3132 Sum of Different Primes
- 反射详解
- 将源目录中的文件按照前缀分发到不同目录中的算法设计及C代码实现
- 微信公众号第三方平台开发PYTHON教程 PART 3
- @property 和@synthesize
- javascript笔试题(2)
- 【POJ 2398】Toy Storage(计算几何)
- 声学特征(四) pitch-yin代码实现
- Core Data入门
- 【EF系列】EntityFrameWork实体关系映射
- [SDOI2016]sequence 解题报告
- 微信公众号第三方平台开发PYTHON教程 PART 4