前言说明
最常见的实现自动化签到大多都是使用服务器青龙面板和云函数来实现。如果自己没有服务器,又不想捣鼓云函数,那有没更简便的自动化签到方式来,当然是有的,接下来我们就以金山文档的AirScript脚本来实现来实现阿里网盘的自动签到任务。
AirScript脚本采用标准JavaScript语言进行编写,支持大部分ES6语法,官方文档还提及后续有计划支持python语言。
重要:阿里的token的有效期大约在一个月之间,需要过期重新获取。
这几天的执行日志
实现步骤
1.进入金山文档网页版https://www.kdocs.cn/
2.自己新建一个空白智能表格,点击【效率】-【高级开发】-【AirScript脚本编辑器】
3.点击【创建脚本】-【文档共享脚本】,成功后命名一下,可以命名为:阿里云盘签到
4.点击【服务】-【添加服务】,将出中间意外的服务添加下,云文档API、网络API以下脚本因为没有应用到邮件服务,采用的是微信公众号推送消息,比邮件通知实现起来简单多了
5.将下载附件的代码复制到编辑器中
/*阿里云盘自动签到微信推送版
* 路羽博客 https://www.luyuz.cn/Aliyun-Drive-Auto-Sign.html
* 修改于小小猪
*/
var myDate = new Date();
var data_time = myDate.toLocaleDateString()
var pushtoken = Application.Range('C1').Text
function sleep(d){
for(var t = Date.now();Date.now() - t <= d;);
}
var value= ""
var num = 0
for (let ii = 1; ii <= 10; ii++){
dyg = "A"+ii
var refresh_token = Application.Range(dyg).Text
if(refresh_token != ""){
// 发起网络请求-获取token
let data = HTTP.post("https://auth.aliyundrive.com/v2/account/token",
JSON.stringify({
"grant_type": "refresh_token",
"refresh_token":refresh_token
})
)
data = data.json()
var access_token = data['access_token']
var phone = data["user_name"]
if (access_token == undefined){
var value ="账号"+ii+"token值错误,程序执行失败,请重新复制正确的token值"
}else{
try{
var access_token2 = 'Bearer '+access_token
// 签到
let data2 = HTTP.post("https://member.aliyundrive.com/v1/activity/sign_in_list",
JSON.stringify({"_rx-s": "mobile"}),
{headers:{"Authorization":access_token2}}
)
data2=data2.json()
var signin_count = data2['result']['signInCount']
sleep(2000)
// 领取奖励
let data3 = HTTP.post(
"https://member.aliyundrive.com/v1/activity/sign_in_reward?_rx-s=mobile",
JSON.stringify({"signInDay": signin_count}),
{headers:{"Authorization":access_token2}}
)
data3=data3.json()
var value = value+ "账号:"+data["user_name"]+"-签到成功, 本月累计签到"+ signin_count+"天"+"\n" + "本次签到获得"+data3["result"]["name"] +","+data3["result"]["description"]+"\n"
var v6 = "阿里云盘签到通知:\n"+value
console.log(value)
// 微信推送
let data5 = HTTP.post("http://www.pushplus.plus/send",
JSON.stringify({
token:pushtoken,
title: "签到成功, 本月累计签到"+ signin_count+"天",
content: v6
})
);
}catch{
var value = value+ "账号:"+data["user_name"]+"-程序出错,请检查代码后重新运行"+"\n"
}
}
}else{
num=num+1
}
}
//console.log(num)
if(num==10){
value = "未获取到表格中的token内容,请重新检查"
}
6.接下来,我们需要获取阿里网盘的token,即refresh_token的值
进入网页版阿里网盘https://www.aliyundrive.com/,在浏览器中右键点击【检查】-浏览器中获取 refresh_token 的值
7.将refresh_token 的值复制到表格中,(A2-A20)可以写入多个账号的refresh_token,在C1列写入自己的pushplustokn
pushplustokn具体可以参照获取https://www.luyuz.cn/pushplus.html
8.脚本中,点击上方的【保存】按钮,再点击【运行】按钮
9.关闭代码编辑框,点击【效率】-【高级开发】-【定时任务】
10.点击【创建任务】-设置每天运行的时间,选择刚刚选择的脚本,保存就完成了。