xinxiu 发表于 2023-7-20 13:26

阿里云盘签到python脚本,推送到TG

import requests
import time

# Telegram Bot的API Token
telegram_api_token = "你的TG_bot token"
# Telegram目标聊天ID(可以是私人对话或群组ID)
telegram_chat_id = "你的chat_id"

def send_message_to_telegram(message):
   url = f"https://api.telegram.org/bot{telegram_api_token}/sendMessage"
   data = {
       "chat_id": telegram_chat_id,
       "text": message,
   }
   requests.post(url, data=data)

def aliyun_drive_sign_in(refresh_tokens):
   for refresh_token in refresh_tokens:
       if refresh_token != "":
         # 刷新token获取access_token
         res = requests.post("https://auth.aliyundrive.com/v2/account/token",
                               json={
                                 "grant_type": "refresh_token",
                                 "refresh_token": refresh_token
                               })
         res = res.json()
         access_token = res.get('access_token')

         if access_token is None:
               send_message_to_telegram("refresh_token错误,请重新填写refresh_token")
         else:
               try:
                   # 进行签到
                   res2 = requests.post("https://member.aliyundrive.com/v1/activity/sign_in_list",
                                        json={"_rx-s": "mobile"},
                                        headers={"Authorization": 'Bearer ' + access_token})
                   res2 = res2.json()
                   signInCount = res2.get('result', {}).get('signInCount', 0)

                   # 领取奖励
                   res3 = requests.post("https://member.aliyundrive.com/v1/activity/sign_in_reward?_rx-s=mobile",
                                        json={
                                          "signInDay": signInCount
                                        },
                                        headers={"Authorization": 'Bearer ' + access_token})
                   res3 = res3.json()
                   reward_name = res3.get("result", {}).get("name")
                   reward_description = res3.get("result", {}).get("description")

                   # 构建签到成功和获得奖励的信息
                   message = f"账号:{res['user_name']},签到成功,本月累计签到{signInCount}天,获得奖励:{reward_name},{reward_description}"
                   send_message_to_telegram(message)
               except:
                   send_message_to_telegram("签到或领取奖励失败")
       print("\n")

# 多账号refresh_token值列表
refresh_tokens = ["token1", "token2", "token3"]
aliyun_drive_sign_in(refresh_tokens)

HaKuna 发表于 2023-7-21 10:16

xinxiu 发表于 2023-7-20 16:36
1.第一步,浏览器访问网页版阿里云盘,网址为https://www.aliyundrive.com/drive
按键盘的F12,会唤起下 ...

同理网页版阿里云盘,然后F12,直接控制台输入以下代码,获取更便捷
var token = JSON.parse(localStorage.getItem('token'));
console.log('refresh_token:', token.refresh_token);

hwj180 发表于 2023-7-20 16:23

打个标记,帮顶。

dzqaww 发表于 2023-7-20 16:32

大佬,怎么获取token?

xinxiu 发表于 2023-7-20 16:36

dzqaww 发表于 2023-7-20 16:32
大佬,怎么获取token?

1.第一步,浏览器访问网页版阿里云盘,网址为https://www.aliyundrive.com/drive
按键盘的F12,会唤起下方的开发者工具
2.第二步,点击开发者工具中的"Application"(中文名叫"应用")
3.第三步,点击"Local Storage"下的阿里云盘网址
4.第四步,右侧找到"token"并点击
5.第五步,下方找到"refresh token",并复制它后面双引号的内容,如:xxxxxxxx

dzqaww 发表于 2023-7-20 16:37

xinxiu 发表于 2023-7-20 16:36
1.第一步,浏览器访问网页版阿里云盘,网址为https://www.aliyundrive.com/drive
按键盘的F12,会唤起下 ...

好的,谢谢

sscnc 发表于 2023-7-20 17:28

https://zhuanlan.zhihu.com/p/643179804
阿里云盘自动每日签到,无需部署,无需服务器(二次创作)

Topopop 发表于 2023-7-20 17:42

可不可以只签到不领奖

xinxiu 发表于 2023-7-20 17:58

Topopop 发表于 2023-7-20 17:42
可不可以只签到不领奖

把领奖的相关代码去掉就行了。

Topopop 发表于 2023-7-20 18:00

xinxiu 发表于 2023-7-20 17:58
把领奖的相关代码去掉就行了。

试了可以,感谢,已修改成公众号推送了,tg还是有点不方便

xinxiu 发表于 2023-7-20 18:03

sscnc 发表于 2023-7-20 17:28
https://zhuanlan.zhihu.com/p/643179804
阿里云盘自动每日签到,无需部署,无需服务器(二次创作)

十几台服务器,嘎嘎,就是玩。:lol
页: [1] 2 3
查看完整版本: 阿里云盘签到python脚本,推送到TG