最新消息
没有服务器,阿里云盘也能自动签到!
没有服务器,阿里云盘也能自动签到!
1年前 1.73k 阅读
  • 首页
  • /
  • 笔记
  • /
  • 正文

  • 阿里盘签到

    1.打开【金山文档-阿里云盘自动签到模板】:https://kdocs.cn/l/cgUAOWCTQGhB

    2.点击左上角三条杠图标,另存到自己的金山文档中

    如图所示:

    3.获取阿里云盘Token:获取Token、Cookie教程

    4.把获取到的Token粘贴到【Token1】中
    (如有多个账号,就依次获取并粘贴在Token2及下边的表格里,每行一个)

    5.打开PUSHPLUS推送官网:https://www.pushplus.plus
    (第5.6.7步是为了签到后成功与否将消息推送给你,不需要通知的朋友可以跳过)

    6.微信扫码登录后,点击【发送消息】-【一对一消息】,一键复制你的Token

    如图所示:

    7.把复制到的内容替换到表格的【pushplustoken】中

    如图所示:

    8.点击上方的【效率】-【高级开发】-【AirScript脚本编辑器】

    如图所示:

    9.正常情况下已经有一个脚本了,有了就跳到第12步

    10.如果没有就点击【创建脚本】-【文档共享脚本】,名字随意起一个

    11.复制以下脚本代码粘贴到脚本编辑器中,然后保存

    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+'\n\n'+result4+'\n\n'+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
    }

    如图所示:

    12.点击上方【服务授权】按钮,添加【云文档API】和【网络API】两个服务

    如图所示:

    13.点击运行,测试一下脚本(可能会出来个授权窗口,点允许就对了)

    14.再看看下方的日志,显示成功就OK了

    如图所示:

    15.关闭脚本编辑器,再点击【效率】-【高级开发】-【定时任务】-【创建任务】

    如图所示:

    16.设置每天启动,在下方选择刚刚设置的脚本,点击确认就大功告成了

    如图所示:



    0

    评语 (3)

    取消
    1. 头像
      回复
      uegmqcaaql 1天前 亚太地区
      2025年10月新盘 做第一批吃螃蟹的人coinsrore.com
      新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com
      新车首发,新的一年,只带想赚米的人coinsrore.com
      新盘 上车集合 留下 我要发发 立马进裙coinsrore.com
      做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
      新车上路,只带前10个人coinsrore.com
      新盘首开 新盘首开 征召客户!!!coinsrore.com
      新项目准备上线,寻找志同道合 的合作伙伴coinsrore.com
      新车即将上线 真正的项目,期待你的参与coinsrore.com
      新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
      新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com

    2. 头像
      回复
      uyyjoblbym 3天前 亚太地区
      新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com

    3. 头像
      回复
      qlomuwhxhi 4天前 亚太地区
      新盘 上车集合 留下 我要发发 立马进裙coinsrore.com