卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章1829本站已运行4109

阿里云盘自动签到-自动更新token-企业微信推送-阿里云函数运行

import datetime
import re
import requests
import json
 
# 阿里云盘刷新令牌
refresh_token = ''
 
def send_wx(msg, tokens, appid):
    url = f"https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={tokens}"
    data = {
        "touser": "@all",
        "msgtype": "text",
        "agentid": appid,
        "text": {
            "content": msg
        },
        "safe": 0,
    }
    rtxt = requests.post(url, json=data, timeout=9).json()
    return rtxt['errcode'] == 0 and rtxt['errmsg'] == 'ok'
 
# 签到函数
def daily_check(access_token):
    url = 'https://member.aliyundrive.com/v1/activity/sign_in_list?_rx-s=mobile'
    headers = {
        'Authorization': access_token,
        'Content-Type': 'application/json'
    }
    response = requests.post(url=url, headers=headers, json={}).text
    result = json.loads(response)
    url_reward = 'https://member.aliyundrive.com/v1/activity/sign_in_reward?_rx-s=mobile'
    resp2 = requests.post(url=url_reward, headers=headers, data=json.dumps({'signInDay': result['result']['signInCount']}))
    result2 = json.loads(resp2.text)
    if 'success' in result:
        print('签到成功')
        for i, j in enumerate(result['result']['signInLogs']):
            if j['status'] == 'miss':
                day_json = result['result']['signInLogs'][i-1]
                if not day_json['isReward']:
                    content = '签到成功,今日未获得奖励'
                else:
                    content = '本月累计签到{}天,今日签到获得{}{}'.format(result['result']['signInCount'], day_json['reward']['name'], day_json['reward']['description'])
                print(content)
                return content
 
# 使用refresh_token更新access_token
def update_token():
    url = 'https://auth.aliyundrive.com/v2/account/token'
    data = {
        'grant_type': 'refresh_token',
        'refresh_token': refresh_token
    }
    response = requests.post(url=url, json=data).json()
    access_token = response['access_token']
    print('获取的access_token为{}'.format(access_token))
    return access_token
 
def handler(event, context):
    appid = ''
    corpid = ''
    corpsecret = ''
     
    url = f'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={corpid}&corpsecret={corpsecret}'
    r = requests.get(url, timeout=5)
    tokens = r.json()['access_token']
 
    print('更新access_token')
    access_token = update_token()
    print('更新成功,开始进行签到')
    content = daily_check(access_token)
    send_wx(content, tokens, appid)
 
if __name__ == '__main__':
    handler(None, None)
 
卓越飞翔博客
上一篇: python批量爬取某影天堂的下载地址以及500多部链接分享
下一篇: PDF转图片或Word文档

相关推荐

留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏