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

公司做的微信公众号/支付宝服务窗的项目,要做自动化测试。公众号的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']
   

Python编写微信公众号预约抢号脚本通常需要使用微信开放平台提供的API,例如`itchat`库可以辅助处理微信消息。以下是一个简化的步骤: 1. **注册并认证**:首先,你需要有一个微信公众服务平台账号,并完成必要的认证,如服务号或订阅号。 2. **获取access_token**: - 登录微信公众平台 -> 开发者中心 -> 调试工具 -> 获取access_token。 - 非本人所有公众号的token通常只能通过开发者授权获得,即授权给你的应用程序访问权限。 - 访问`https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=your_appid&secret=your_appsecret`,将`your_appid`和`your_appsecret`替换为你相应的公众号ID和密钥。 3. **安装itchat库** (如果还没有): `pip install itchat` 4. **配置并登录**: - 使用`itchat.auto_login(hotReload=True)`自登录,需要用户授权才能获取到微信好友信息等权限。 5. **编写抢票函数**: - 利用`itchat.send`或`itchat.send_msg`发送请求到公众号指定的抢号接口,携带access_token和必要的数据(如预约时间、验证码等)。 - 根据公众号文档检查返回的状态码,成功则表示预约成功。 6. **定时任务或轮询**: - 如果抢票需要定时,你可以设置定时任务或使用Python的`schedule`库来定期运行抢票脚本。 7. **异常处理**: - 微信API可能会有各种错误,记得添加适当的错误处理机制,比如捕获网络错误、验证错误等。 ```python import itchat import requests def get_access_token(appid, appsecret): url = 'https://api.weixin.qq.com/cgi-bin/token' params = { 'grant_type': 'client_credential', 'appid': appid, 'secret': appsecret } response = requests.get(url, params=params) return response.json()['access_token'] # 替换为你实际的appid和appsecret access_token = get_access_token('your_appid', 'your_appsecret') itchat.auto_login(hotReload=True) # 抢票函数 def grab_ticket(token, data): headers = {'Authorization': f'Bearer {token}'} try: response = requests.post('your_api_url', headers=headers, json=data) # 检查响应状态码 if response.status_code == 200: print("抢号成功!") else: print(f"抢号失败: {response.text}") except Exception as e: print(f"抢号出错: {e}") # 运行抢票任务 data = {...} # 预约数据 grab_ticket(access_token, data) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值