github地址:cppfun@wechat-open-third-party-dev
微信公众号第三方平台开发python教程 Part 1
这一节肯定是在第一节的基础上,如果你没有看过第一节,可能有点困难。
这一节的任务是获取第三方平台component_access_token,这个和公众号的获取access_token类似,个人觉得比较简单,我们直接来看实现:
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
# 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
我们将component_access_token存储进com_access_token.json文件里面。这个和存储access_token类似。
我把以上代码封装到一个类里面,我们来看下这个类的初始化代码:
class WxOpenSDK:
def __init__ ( self , ticket ):
self. component_appid = component_appid
self. component_appsecret = component_appsecret
self. ticket = ticket
# something below...
def __init__ ( self , ticket ):
self. component_appid = component_appid
self. component_appsecret = component_appsecret
self. ticket = ticket
# something below...
那么最终我们怎么调用component_access_token方法呢?按如下操作:
# load file
json_file = open ( 'com_ticket.json' )
data = json. load (json_file )
json_file. close ( )
if data [ 'ComponentVerifyTicket' ] == '':
return
ComponentVerifyTicket = data [ 'ComponentVerifyTicket' ]
wxOpenSDK = WxOpenSDK (ticket =ComponentVerifyTicket )
# code others
json_file = open ( 'com_ticket.json' )
data = json. load (json_file )
json_file. close ( )
if data [ 'ComponentVerifyTicket' ] == '':
return
ComponentVerifyTicket = data [ 'ComponentVerifyTicket' ]
wxOpenSDK = WxOpenSDK (ticket =ComponentVerifyTicket )
# code others
通过以上代码就可以进行调用。
好了这是第二节的内容,坑不多,大家可以快速跳过。
接下来我们进行第三节的讲解。