白嫖达人必备!仅需一个脚本,畅享阿里云盘无限空间!

用过不少网盘,百度网盘、阿里网盘、夸克网盘、115网盘、天翼云网盘等等,目前国内网盘无一例外都是提供部分免费的,如果网盘空间不够了,需要更多上传下载网速的都是需要开通VIP会员的 。之前一直百度网盘比较多,不知道什么时候开始网上开始有阿里网盘的分享了,手一点就保存到网盘上了 , 挺爽的 。可是用到后来发现网盘空间不够用了,又不想开通网盘VIP.阿里网盘在下载速度上面限制性较少 , 目前阿里网盘有个每日签到功能 , 但是需要每天签到打卡 。

白嫖达人必备!仅需一个脚本,畅享阿里云盘无限空间!

如图:上面是我阿里云盘的签到 , 每天点其实也挺麻烦的 。有没有办法通过自动打开免费白嫖阿里云网盘呢?
今天给大家分享一个金山WSP里面一个脚本来实现阿里云盘免费白嫖 。原理是利用“金山文档”里面的AirScript执行js代码 , 设定定时执行条件,实现0成本自动签到 。下面介绍一下如何具体白嫖 。

前置条件

1.你需要有个WPS 账号 。
  1. 你需要有阿里云盘账号 。
以上2个账号开通我这里面就不过多介绍了,不会的小伙伴可以自取百度搜索一下 。

金山WPS 操作

登录金山文档,①点击【新建】②点击【表格】③点击【空白表格】
白嫖达人必备!仅需一个脚本,畅享阿里云盘无限空间!

白嫖达人必备!仅需一个脚本,畅享阿里云盘无限空间!

以上步骤新建一个空白表格
按照图例格式,建立“refresh_token”,“是否签到”,“是否领取奖励”几个栏目 。
接下来我们选择工作簿中、效率-》高级开发》AirScript脚本编辑器
白嫖达人必备!仅需一个脚本,畅享阿里云盘无限空间!

打开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 signInColumn = "B"; // 设置列号变量为 "B"var rewardColumn = "C"; // 设置列号变量为 "C"var emailColumn = "F"; // 设置列号变量为 "F"var sendEmailColumn = "G"; // 设置列号变量为 "G"var resultColumn = "J"; // 设置列号变量为 "J" for (let row = 2; row <= 20; row) { // 循环遍历从第 2 行到第 20 行的数据var refresh_token = Application.Range(tokenColumnrow).Text; // 获取指定单元格的值var sflq = Application.Range(signInColumnrow).Text; // 获取指定单元格的值var sflqReward = Application.Range(rewardColumnrow).Text; // 获取指定单元格的值var jsyx = Application.Range(emailColumnrow).Text; // 获取指定单元格的值var sendEmail = Application.Range(sendEmailColumnrow).Text; // 获取指定单元格的值var customEmailResult = Application.Range(resultColumnrow).Text; // 获取指定单元格的值var emailConfigured = Application.Range("J1").Text; // 获取指定单元格的值var zdy_host = Application.Range("J2").Text; // 获取指定单元格的值var zdy_post = parseInt(Application.Range("J3").Text); // 获取指定单元格的值并转换为整数var zdy_username = Application.Range("J4").Text; // 获取指定单元格的值var zdy_pasd = Application.Range("J5").Text; // 获取指定单元格的值if (sflq == "是") { // 如果“是否签到”为“是”if (refresh_token != "") { // 如果刷新令牌不为空// 发起网络请求-获取tokenlet data = https://www.itzhengshu.com/wps/HTTP.post("https://auth.aliyundrive.com/v2/account/token",JSON.stringify({"grant_type": "refresh_token","refresh_token": refresh_token}));data = https://www.itzhengshu.com/wps/data.json(); // 将响应数据解析为 JSON 格式var access_token = data['access_token']; // 获取访问令牌var phone = data["user_name"]; // 获取用户名if (access_token == undefined) { // 如果访问令牌未定义log("单元格【"tokenColumnrow"】内的token值错误,程序执行失败,请重新复制正确的token值");continue; // 跳过当前行的后续操作}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 logMessage = "账号:"phone" - 签到成功,本月累计签到 "signin_count" 天";var rewardMessage = "";if (sflqReward == "是") { // 如果“是否领取奖励”为“是”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(); // 将响应数据解析为 JSON 格式var rewardName = data3["result"]["name"]; // 获取奖励名称var rewardDescription = data3["result"]["description"]; // 获取奖励描述rewardMessage = " "rewardName" - "rewardDescription;} catch (error) {if (error.response && error.response.data && error.response.data.error) {var errorMessage = error.response.data.error; // 获取错误信息if (errorMessage.includes(" - 今天奖励已领取")) {rewardMessage = " - 今天奖励已领取";log("账号:"phone" - "rewardMessage);} else {log("账号:"phone" - 奖励领取失败:"errorMessage);}} else {log("账号:"phone" - 奖励领取失败");}}} else {rewardMessage = " - 奖励待领取";}} else {rewardMessage = " - 奖励待领取";}log(logMessagerewardMessage);if (sendEmail == "是") { // 如果“是否发送邮件”为“是”try {let mailer;if (customEmailResult == "是") { // 如果“是否自定义邮箱”为“是”var customEmail = Application.Range(resultColumnrow).Text; // 获取指定单元格的值if (emailConfigured === "是") { // 如果配置了自定义邮箱mailer = SMTP.login({host: zdy_host,port: zdy_post,username: zdy_username,password: zdy_pasd,secure: true});mailer.send({from: "阿里云盘签到<"zdy_username">",to: customEmail,subject: "阿里云盘签到通知 - "data_time,text: logMessagerewardMessage});} else { // 如果未配置自定义邮箱,默认使用示例邮箱mailer = SMTP.login({host: "smtp.163.com",port: 465,username: "wwwzhouhui@163.com",password: "",secure: true});mailer.send({from: "阿里云盘签到",to: customEmail,subject: "阿里云盘签到通知 - "data_time,text: logMessagerewardMessage});}log("账号:"phone" - 已发送邮件至:"customEmail);} else { // 如果“是否自定义邮箱”为“否”if (emailConfigured === "是") { // 如果配置了自定义邮箱mailer = SMTP.login({host: zdy_host,port: zdy_post,username: zdy_username,password: zdy_pasd,secure: true});mailer.send({from: "阿里云盘签到<"zdy_username">",to: jsyx,subject: "阿里云盘签到通知 - "data_time,text: logMessagerewardMessage});} else { // 如果未配置自定义邮箱 , 默认使用示例邮箱mailer = SMTP.login({host: "smtp.163.com",port: 465,username: "wwwzhouhui@163.com",password: "",secure: true});mailer.send({from: "阿里云盘签到",to: jsyx,subject: "阿里云盘签到通知 - "data_time,text: logMessagerewardMessage});}log("账号:"phone" - 已发送邮件至:"jsyx);}} catch (error) {log("账号:"phone" - 发送邮件失败:"error);}}} catch {log("单元格【"tokenColumnrow"】内的token签到失败");continue; // 跳过当前行的后续操作}} else {log("账号:"phone" 不签到");}}} var currentDate = new Date(); // 创建一个表示当前时间的 Date 对象var currentDay = currentDate.getDate(); // 获取当前日期的天数var lastDayOfMonth = new Date(currentDate.getFullYear(), currentDate.getMonth()1, 0).getDate(); // 获取当月的最后一天的日期 if (currentDay === lastDayOfMonth) { // 如果当前日期是当月的最后一天for (let row = 2; row <= 20; row) { // 循环遍历从第 2 行到第 20 行的数据var sflq = Application.Range(signInColumnrow).Text; // 获取指定单元格的值var sflqReward = Application.Range(rewardColumnrow).Text; // 获取指定单元格的值if (sflq === "是" && sflqReward === "是") { // 如果“是否签到”和“是否领取奖励”均为“是”var refresh_token = Application.Range(tokenColumnrow).Text; // 获取指定单元格的值var jsyx = Application.Range(emailColumnrow).Text; // 获取指定单元格的值var phone = "账号:"phone; // 构建账号信息字符串if (refresh_token !== "") { // 如果刷新令牌不为空// 发起网络请求-获取tokenlet data = https://www.itzhengshu.com/wps/HTTP.post("https://auth.aliyundrive.com/v2/account/token",JSON.stringify({"grant_type": "refresh_token","refresh_token": refresh_token}));data = https://www.itzhengshu.com/wps/data.json(); // 将响应数据解析为 JSON 格式var access_token = data['access_token']; // 获取访问令牌if (access_token === undefined) { // 如果访问令牌未定义log("单元格【"tokenColumnrow"】内的token值错误,程序执行失败,请重新复制正确的token值");continue; // 跳过当前行的后续操作}try {var access_token2 = 'Bearer 'access_token; // 构建包含访问令牌的请求头// 领取奖励let data4 = HTTP.post("https://member.aliyundrive.com/v1/activity/sign_in_reward?_rx-s=mobile",JSON.stringify({ "signInDay": lastDayOfMonth }),{ headers: { "Authorization": access_token2 } });data4 = data4.json(); // 将响应数据解析为 JSON 格式var claimStatus = data4["result"]["status"]; // 获取奖励状态var day = lastDayOfMonth; // 获取最后一天的日期if (claimStatus === "CLAIMED") {log("账号:"phone" - 第 "day" 天奖励领取成功");} else {log("账号:"phone" - 第 "day" 天奖励领取失败");}} catch {log("单元格【"tokenColumnrow"】内的token签到失败");continue; // 跳过当前行的后续操作}} else {log("账号:"phone" 不签到");}}}log("自动领取未领取奖励完成 。");}
填写脚本完成后点击保存
白嫖达人必备!仅需一个脚本,畅享阿里云盘无限空间!

阿里云盘获取token

阿里云盘”网页页面,①按下键盘“F12”按键,打开浏览器的“开发者工具” 。
②如图所示 , 找到“Application”
③点击“Local Storage”展开后,找到阿里云盘的网址并点击 。
④在右侧找到”token"并点击(可能由于页面大小限制,需要滑动滚动条才能找到)
⑤在下方“refresh token”,复制本项双引号里面的内容 。
白嫖达人必备!仅需一个脚本,畅享阿里云盘无限空间!

金山WPS 操作2

现在切换回“金山文档”刚才我们创建的表格,把刚才复制的内容粘贴到“refresh token”的一列 。
白嫖达人必备!仅需一个脚本,畅享阿里云盘无限空间!

填写好 refresh_token、是否签到、是否领取奖励 参考上面截图 。
接下来我们重新打开AirScript脚本编辑器 。点击【效率】 【高效开发】 打开【AirScript脚本编辑器】 。然后,点击【创建脚本】 选择【文档共享脚本】
如图所示,点击【服务】 选择【添加服务】 。在弹窗中 , 点击“网络API”的【添加】按钮 。
白嫖达人必备!仅需一个脚本,畅享阿里云盘无限空间!

此时,可以点击【运行】进行测试 。如果执行日志框中出现了正确的执行步骤以及签到成功执行完毕等信息,说明步骤正确 , 此时可以关闭“AirScript脚本编辑器”了 。
白嫖达人必备!仅需一个脚本,畅享阿里云盘无限空间!

要写每天偷懒打开,我们可以设置一下定时任务执行 。
点击【高级开发】 【定时任务】,在“定时任务”页面,选择【创建任务】,设置“每天”并在“选择执行的AirScript脚本”选项卡,选择我们刚才建的脚本【未命名脚本】 。最后点击【确认】
白嫖达人必备!仅需一个脚本,畅享阿里云盘无限空间!

【白嫖达人必备!仅需一个脚本,畅享阿里云盘无限空间!】选择每日 , 时间设置一下您需要打开签到的时间 。点击确定完成定时任务设置了 。
至此,所有设置已经完成 。接下来就可以每天实现白嫖阿里云盘了 。
今天的分享到到这里,感兴趣的小伙伴可以留言点赞 , 分享给更多小伙伴 。

相关经验推荐