您的位置:首页 > 编程语言 > Python开发

python获取微信公众号的access_token的脚本

2018-03-13 16:14 302 查看
公司做的微信公众号/支付宝服务窗的项目,要做自动化测试。公众号的token获取接口文档没有提供相应的接口,才开始是自己手动去拿一个,调试完正式运行时,还要手动去拿,未免太不自动化了。
但是当时理解错误了个概念,以为这个token就是微信公众号的access_token。跑去微信里面看文档,参照写了个脚本获取到access_token,然后使用这个access_token接口还是调不通才反应过来..........尴尬
脚本如下:
# -*- coding: utf-8 -*-#
import urllib
import time
import json

class Basic:
    def __init__(self):
        self.__accessToken = ''
        self.__leftTime = 0
    def __real_get_access_token(self,appId,appSecret):
        postUrl = ("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s" % (appId, appSecret))
        urlResp = urllib.urlopen(postUrl)
        urlResp = json.loads(urlResp.read())
        self.__accessToken = urlResp['access_token']
        self.__leftTime = urlResp['expires_in']
            
    def get_access_token(self,appId,appSecret):
        """
        expires_in字段是微信access_token的有效时间,超时将无法使用
        """
        if self.__leftTime < 10:
            self.__real_get_access_token(appId,appSecret)
            return self.__accessToken
        def run(self):
            while(True):
                if self.__leftTime > 10:
                    time.sleep(2)
                    self.__leftTime -= 2
                else:
                    self.__real_get_access_token(appId,appSecret)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息