大家好,我是饭。
这两天群里有老哥说自己的阿里云盘太小,不够播放大的片,现在阿里注册的新用户只有100G容量,我们公众号也经常有送阿里的200G扩容福利码,但我们一个月也只有几千个,很多老哥还是会领不到。
买阿里的SVIP会员虽有8T容量,且高峰期不限速,播放快,但得花钱,看阿里片多的老哥买会员不亏,买就完事了。不折腾
那又有没有能白嫖的阿里SVIP会员,有大容量了又能享受高峰期不限速呢?
有!
用过阿里云盘官方客户端的老哥应该都知道阿里有个每日签到领奖励的活动。
每日签到能领什么奖励,大概就是下图这些。
我看群里很多老哥都是每天打开阿里App,手动点一下签到,再手动领取一下奖励,每天如此,有点麻烦,有时一忙还会忘记了。
今天就来分享一个最简单的,全自动帮你签到再领奖励,方法源自半年前知乎大佬小小猪,我发的是再改良版本。还会再发通知给你知道签到成没成功,而不是通过发邮件,发邮件会被邮箱黑名单。
① 浏览器打开签到模版,【另存】到自己账号下,需要注册登录自己金山账号。
签到模版:https://kdocs.cn/l/ceYQYhqPXTyw
② 在我的云文档里打开你刚转存过来的签到模板文件,把A1处文字替换成你需要每天签到领奖品的阿里账号token,可能还有老哥不知道怎么手动提取自己阿里token出来,那我就再啰嗦一遍。懂怎么提取token的老哥直接跳过番外篇。
番外篇:如何提取自己阿里云盘token
浏览器打开:
https://alist.nn.ci/zh/guide/drivers/aliyundrive.html
按照上图操作,把显示出来的32位token填入到签到模板中的A1处。
③ 这一步是要每天推送通知给你,通知你签到成不成功的,不需要通知的老哥可以跳过这一步。
浏览器打开:https://www.pushplus.plus/
点击【登录】微信扫码登录后,点击【发送消息】-【一对一消息】,点击下方【一键复制】按钮,把复制到的内容,粘贴到签到模板的D1里面,替换原本的内容即可。
④ 点击签到模板上方的【效率】-【高级开发】-【AirScript脚本编辑器】
弹出的窗口再点【创建脚本】-【文档共享脚本】,随便给脚本起个名,我这里起名叫阿里签到
再把下方的脚本代码,全部复制粘贴到上图红框里面后,点击【保存】按钮。
var myDate = new Date(); // 创建一个表示当前时间的 Date 对象
var data_time = myDate.toLocaleDateString(); // 获取当前日期的字符串表示
function sleep(d) {
for (var t = Date.now(); Date.now() - t <= d;); // 使程序暂停执行一段时间
}
function log(message) {
console.log(message); // 打印消息到控制台
// TODO: 将日志写入文件
}
var tokenColumn = "A"; // 设置列号变量为 "A"
var qiandaoColumn = "B"; // 设置列号变量为 "B"
var serverchanColumn = "C"; // 设置列号变量为 "C"
var pushplusColumn = "D"; // 设置列号变量为 "D"
var pushColumn = "E"; // 设置列号变量为 "E"
var logindateColumn = "G"; // 设置列号变量为 "G"
for (let row = 1; row <= 10; row ) { // 循环遍历从第 1 行到第 10 行的数据
var refresh_token = Application.Range(tokenColumn row).Text; // 获取指定单元格的值
var qiandao = Application.Range(qiandaoColumn row).Text; // 获取指定单元格的值
var servertoken = Application.Range(serverchanColumn row).Text; // 获取指定单元格的值
var pushtoken = Application.Range(pushplusColumn row).Text; // 获取指定单元格的值
var push = Application.Range(pushColumn row).Text; // 获取指定单元格的值
var ldate = Application.Range(logindateColumn row).Text; // 获取指定单元格的值
if (refresh_token != "") { // 如果刷新令牌不为空
if (qiandao == "是") {//签到&领奖开关
//获取Bearer-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) { // 如果报错
console.log("单元格【" tokenColumn row "】token执行出错,请检查token或者API接口");
continue; // 跳过当前行的后续操作()
}
Time.sleep(3000)
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(); // 将响应数据解析为 JSON 格式
var signin_count = data2['result']['signInCount']; // 获取签到次数
var result1 = "账号:" phone " - 签到成功";
var result2 = "本月累计签到 " signin_count " 天";
console.log(result1)
}catch (error) {
console.log("单元格【" tokenColumn row "】签到出错,请检查API接口");
continue; // 跳过当前行的后续操作()
}
Time.sleep(3000)
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(); // 将响应数据解析为 JSON 格式
var result3 = data3["result"]["name"]; // 获取奖励名称
var result4 = data3["result"]["notice"]; // 获取奖励描述
console.log(result4)
}catch (error) {
console.log("单元格【" tokenColumn row "】领奖出错,请手动确认");
continue; // 跳过当前行的后续操作()
}
var loginnotice ="" //25天登陆提醒
var ldate = Application.Range(logindateColumn row).Text; // 获取指定单元格的值
if (ldate !== '') {
Application.Range(logindateColumn row).NumberFormat = 'yyyy-mm-dd;@'
var formatlogindate = Application.Range(logindateColumn row).Text
console.log(formatlogindate)
function formatDateTime(date) {
const year = date.getFullYear();
const month = date.getMonth() 1;
const day = date.getDate();
return `${year}-${pad(month)}-${pad(day)} `;
}
function pad(num) {
return num.toString().padStart(2, '0');
}
const currentDate = new Date();
var formacurrentdate=formatDateTime(currentDate);
console.log(formacurrentdate)
function getDate(strDate){
if(strDate==null||strDate===undefined) return null;
var date = new Date();
try{
if(strDate == undefined){
date= null;
}else if(typeof strDate == 'string'){
strDate = strDate.replace(/:/g,'-');
strDate = strDate.replace(/ /g,'-');
var dtArr = strDate.split("-");
if(dtArr.length>=3&&dtArr.length<6){
date=new Date(dtArr[0], dtArr[1], dtArr[2]);
}else if(date.length>8){
date=new Date(Date.UTC(dtArr[0],dtArr[1]-1,dtArr[2],dtArr[3]-8,dtArr[4],dtArr[5]));
}
}else{
date = null;
}
return date;
}catch(e){
alert('格式化日期出现异常:' e.message);
}
}
var timeslong = getDate(formacurrentdate).getTime()-getDate(formatlogindate).getTime();
console.log(timeslong)
if (timeslong >2160000000){//时间差单位毫秒
var loginnotice = "登录已超25天注意token失效";
}
}
//推送
if (servertoken !== '' && push == "Serverchan") {//serverchan通道推送
const urls = "https://sctapi.ftqq.com/" servertoken ".send"
let response = HTTP.post(
urls,
{
title: result1,
desp: '' result2 'nn' result4 'nn' loginnotice '',
},
{
headers: {
"Content-Type": "application/json",
},
timeout: 60000, // 设置超时时间
}
);
// 打印推送结果
console.log(response.text());
}
if (pushtoken !== '' && push == "Pushplus") {//pushplus通道推送
const urlp = "http://www.pushplus.plus/send"
let response = HTTP.post(
urlp,
{
"token": pushtoken,
"title": "阿里云盘-签到通知",
"content": '' result1 'n' result2 'n' result4 'n' loginnotice '',
"channel": "wechat",
"template": "html"
},
{
headers: {
"Content-Type": "application/json",
},
timeout: 60000, // 设置超时时间
}
);
// 打印推送结果
console.log(response.text());
}
}
}
//无有效token
}
⑤ 再点击上方【服务授权】按钮,添加【云文档API】和【网络API】两个服务。
前面的步骤大伙都好了没?好了就点击【运行】按钮 ▶,可能会出来个授权窗口,点允许就对了。
再看看下方的日志,是不是这样显示,显示成功就成了。
再看看你的微信,有没有收到云盘签到成功的通知。签25天时会通知你去更新下token。
完美!
先别急,还有最后一步,加上定时,也就是你想让这个自动脚本什么时候去签到领奖励,就定什么时候。
点击签到模板上方的【效率】-【高级开发】-【定时任务】-【创建任务】
时间自己选,下方选择阿里签到的脚本,确认。躺平!
原文链接 https://mp.weixin.qq.com/s/RY9OHm0FavCVQxDpCITZoA
2、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报,本站资源仅供学习与参考,请勿用于商业用途以及违法使用。
3、本站大部分下载资源收集于网络,该资源仅供学习和研究传播,版权归原作者所有,若为付费资源,大家请在下载后24小时内自觉删除,一切关于该资源商业行为与站长及159e资源网(www.159e.cn)无关。
4、请勿将该软件进行商业交易、转载、商业用途等行为,该软件只为研究、学习所提供,若作商业用途,请到原网站购买,由于未及时购买和付费发生的侵权行为,与本站无关,该软件使用后发生的一切责任和问题与站长及159e资源网(www.159e.cn)无关。
5、本站所有资源都来源于网络收集或转载!如果侵犯了您的权益,请及时告知我们,我们即刻处理!本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系我们予以删除!如本站不慎侵犯您的版权请联系我们,我们将及时处理,并撤下相关内容!(E-mail:334635982@qq.com)。
- 最新
- 最热
只看作者