效果展示
今天逛知乎看到了一篇很有意思的文章,不需要服务器部署一个自动签到的功能,我立马就来了兴趣,赶紧在自己电脑上试试,正好我目前也在使用阿里云盘。
知乎文章:https://zhuanlan.zhihu.com/p/629476969
用到了金山云在线文档,然后把作者写的js脚本放进去,使用定时任务每天执行脚本来自动签到。由于没有smtp服务器,所以不能每天发送邮箱给我不过没关系,我只要知道了他每天签到了就行。哈哈哈
作者更新了
现在不需要smtp服务器发送邮箱了,可以用pushplus微信推送
进入金山云在线文档,新建excel表格右上角效率 ---> 高级开发 ---> javascript脚本编辑
创建脚本 --- > 文件共享脚本
服务授权 ---> 添加服务 --> 把这三个服务全部添加
把以下代码复制进去吧
var myDate = new Date();
var data_time = myDate.toLocaleDateString()
function sleep(d){
for(var t = Date.now();Date.now() - t <= d;);
}
var value= ""
for (let ii = 2; ii <= 20; 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 =value+"\n"+"单元格【"+dyg+"】内的token值错误或已过期,程序执行失败,请重新复制正确的token值"+"<br/>"
}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']
var value =value+ "账号:"+data["user_name"]+"-签到成功, 本月累计签到"+ signin_count+"天"
}catch{
var value ="单元格【"+dyg+"】内的token签到失败"+"<br/>"
return
}
sleep(1000)
var sflq = Application.Range("B"+ii).Text
if (sflq == "是"){
try{
// 领取奖励
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 +"本次签到获得"+data3["result"]["name"] +","+data3["result"]["description"]+"<br/>"
}catch{
var value = value+ "账号:"+data["user_name"]+"-领取奖励失败\n"+"<br/>"
}
}else{
value = value +" 奖励待领取"+"<br/>"
}
}
}
}
console.log(value)
var sftz = Application.Range("E"+1).Text
if (sftz=="是"){
var token = Application.Range("E"+2).Text
// 发起网络请求
var title = "阿里云盘-签到通知"
var content = value
var url = "http://www.pushplus.plus/send?token="+token+"&title="+title+"&content="+content+"&template=html"
let resp = HTTP.get(url)
// 检查response的状态
if(resp.status!==200){
throw new Error("fetch err! status is "+resp.status())
}
console.log(resp.text())
}
保存 运行脚本
填写表格 在A2到A20这个单元填写你的阿里网盘refresh_token
下面我教怎么获取token
打开阿里云盘网页版---> f12打开开发者工具--->应用程序--->本地存储--->第二个网址 -->密钥-->往下翻有个token 把他复制到表格里面即可 后面的和我填的一致即可
后面有个微信通知的token 我们访问这个网站https://www.pushplus.plus/
注册登录 ---> 发送消息 ---> 一对一消息
把表格填好运行一遍测试结果
表格样式:
现在我们把他加入定时任务,让他每天0点30分执行一次这个脚本进行签到
好了至此我搭好了,你们也去试试吧!!!
Comments 6 条评论
博主 叫我贵祥
话说成功了吗
博主 万 里
@叫我贵祥 成功了呀
博主 eUktWlEImoYGnZKM
@万 里 这是一条私密评论
博主 YuQIOkJiWoMGTzSN
@叫我贵祥 这是一条私密评论
博主 CjOekThslQXfBy
这是一条私密评论
博主 eUktWlEImoYGnZKM
这是一条私密评论