IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    全网最全!阿里云盘自动签到方案

    子衿发表于 2023-08-26 21:10:00
    love 0

    前言-方案一览

    由于阿里云盘的不断升级,自动签到方案具有时效性,极有可能当你看到这篇文章时已经失效,请自行测试。如果失效,请留言联系我,如果自动签到方案依旧可行,我会进行更新。

    使用 GitHub Action 自动签到

    Github 地址:aliyun-auto-signin

    使用文档:How-To-Use-Action

    注意:作者自己有提供 Pro 方案,因为我没有使用过,这里不做评价,请自行判断。

    注意:虽然 Github Action 每个月有免费的使用时长,但是如果滥用,极有可能导致封号。

    使用青龙面板自动签到

    青龙面板 GitHub 地址:qinglong

    阿里云盘自动签到脚本地址:aliyundriveDailyCheck

    该方案需要自行安装青龙面板,并设置阿里云盘自动,具体安装教程,请看官方文档。

    使用油猴脚本进行签到

    注意:该方案删除了自动签到,更改为手动签到。需要每天打开阿里云盘相关连接。

    脚本连接:阿里云盘签到

    需要浏览器安装油猴类似的插件,然后在安装该脚本就可以使用了。

    使用金山文档进行自动签到

    该方法利用 效率->高级开发->AirScript脚本编辑器​ ​进行自动签到。

    脚本代码:

    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 ="单元格【"+dyg+"】内的token值错误,程序执行失败,请重新复制正确的token值"+"\n"
        }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+"天"+"\n"
    
          }catch{
            var value ="单元格【"+dyg+"】内的token签到失败"+"\n"
            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"]+"\n"
            }catch{
                  var value = value+ "账号:"+data["user_name"]+"-领取奖励失败"+"\n"
            }
          }else{
            value = value +"   奖励待领取"+"\n"
          }
        }
      }
    }
    console.log(value)
    var sftz = Application.Range("E"+1).Text
    if (sftz=="是"){
      var jsyx = Application.Range("E"+2).Text
    
      var zdyfs = Application.Range("H"+1).Text
      if (zdyfs == "是"){
        var zdy_host = Application.Range("H"+2).Text
        var zdy_post =Number(Application.Range("H"+3).Text)
        var zdy_username = Application.Range("H"+4).Text
        var zdy_pasd = Application.Range("H"+5).Text
      }else{
        var zdy_host = "smtp.163.com"
        var zdy_post = 465
        var zdy_username = "77777777@163.com"
        var zdy_pasd = "7777777"
      }
    
        // 配置发送邮箱
    
      let mailer = SMTP.login({
        host: zdy_host, // 邮箱 的SMTP服务器的域名
        port: zdy_post,
        username: zdy_username, // 邮箱地址
        password:zdy_pasd, // 邮箱的SMTP密码,非密码
        secure: true
      });
    
      
      if(jsyx != "fs8484848@163.com"){
        try{
          mailer.send({
              from: "阿里云盘签到<"+zdy_username+">", // 发件人
              to: jsyx, // 收件人
              subject: "阿里云盘签到通知-"+data_time, // 主题
              text: value, // 文本
          })
        }catch(error){
          console.log("发送邮件失败"+error)
        }
      }else{
        console.log("不可发送至该邮箱")
      }
    }

    如何使用金山文档进行自动签到

    感谢阿雷科技提供的模板

    模板地址:阿里云盘自动签到模板

    打开模板,因为模板是无法编辑的,所以需要先把模板另存。

    ​​

    获取 refresh\_token

    获取方法由 Alist Doc 提供,免去自己手动查找的麻烦,你也可以自己通过浏览器控制台寻找。

    Alist Doc 文档:aliyundrive

    refresh\_token(刷新令牌)地址:https://alist.nn.ci/tool/aliyundrive/request.html

    或者使用该教程:aliyundriveDailyCheck

    然后将获取的 Token 填入 refresh\_token

    ​

    如果有多个token,就直接继续往下填就行了,后面的内容是配置邮件发送,个人感觉用处不大,就没有设置,如果你需要,可以按照提示进行设置。​

    初次运行

    点击​效率->高级开发->AirScript脚本编辑器​

    ​​

    点击AirScript​

    ​​

    设置定时任务

    点击效率->高级开发->定时任务​,设置触发时间为每天,时间设置为自己想设置的,脚本选择刚刚保存的AirScript脚本,点击确认就行了。

    ​​

    自此,阿里云盘自动签到脚本就完成了。

    最后

    脚本使用有风险,请考虑风险之后再决定是否使用。

    藕花珠缀,犹似汗凝妆



沪ICP备19023445号-2号
友情链接