无需服务器实现阿里云盘自动签到
“金山文档”中AirScript能够执行用户编写的js代码,并且可以设置定时执行。因此通过编写指定代码,并加入自动到定时任务中,即可无成本自动执行所需脚本。
1.准备工作
需要阿里云盘的refresh_token。按照如图步骤复制refresh_token的值,如:xxxxxxxx。此值后面代码中需要用到。(也可参考之前的文章)
文字步骤如下:
1.第一步,浏览器访问网页版阿里云盘,网址为
https://www.aliyundrive.com/drive
按键盘的F12,会唤起开发者工具
2.第二步,点击开发者工具中的"Application"(中文名叫"应用")
3.第三步,点击"Local Storage"下的阿里云盘网址
4.第四步,右侧找到"token"并点击
5.第五步,下方找到"refresh token",并复制它后面双引号的内容,如:xxxxxxxx
2.基本操作
1.浏览器点击访问金山文档,并点击新建
2.点击“表格”
3.点击“空白表格”
4.依次点击“效率”-“高级开发”-“AirScript脚本编辑器”
5.依次点击“创建脚本”-“文档共享脚本”
6.按图所示,点击“服务”-“添加服务”,再点击“网络API”对应的“添加”按钮
7.将如下代码复制到编辑框内,将代码中的xxxxxxxx替换为上述准备工作中自己的refresh_token值。点击“保存”。
// 将如下的xxxxxxxx替换成自己的refresh_token值
var refresh_token = "xxxxxxxx"
if(refresh_token != ""){
let res = HTTP.post("https://auth.aliyundrive.com/v2/account/token",
JSON.stringify({
"grant_type": "refresh_token",
"refresh_token":refresh_token
})
)
res = res.json()
var access_token = res['access_token']
if(access_token == undefined){
console.log("refresh_token错误,请重新填写refresh_token")
}else{
try{
let res2 = HTTP.post("https://member.aliyundrive.com/v1/activity/sign_in_list",
JSON.stringify({"_rx-s": "mobile"}),
{headers:{"Authorization":'Bearer '+access_token}}
)
res2=res2.json()
var signInCount = res2['result']['signInCount']
console.log("账号:" + res["user_name"] + "-签到成功, 本月累计签到" + signInCount + "天")
}catch{
console.log("refresh_token签到失败")
}
sleep(1000)
// 领取奖励
try{
let res3 = HTTP.post("https://member.aliyundrive.com/v1/activity/sign_in_reward?_rx-s=mobile",
JSON.stringify({
"signInDay": signInCount
}),
{headers:{"Authorization":'Bearer '+access_token}}
)
res3=res3.json()
console.log("签到获得" + res3["result"]["name"] + "," + res3["result"]["description"])
}catch{
console.log("领取奖励失败")
}
}
}
function sleep(d){
for(var t = Date.now(); Date.now() - t <= d; );
}
8.可点击“运行”进行测试,日志框中出现如上信息说明步骤正确。此测试步骤可忽略
9.依次点击“高级开发”-“定时任务”,将刚刚的脚本添加到定时任务中。
10.依次点击“创建任务”-“每天”,并选择刚刚的”未命名脚本“,此时就完成了,每天指定时间将会进行签到。
至此签到就完成了,只需要定期更新refresh_token即可。
THE END