喜好

喜好检索

生活 蔬菜

蔬菜大全

思考

见闻与录

BT技术

BT蓝牙技术

标签

阿里云盘自动无服务签到 2023年11月07日

    简介

    阿里云盘自动无服务签到

    前言说明

    数据来源

      最常见的实现自动化签到大多都是使用服务器青龙面板和云函数来实现。
      如果自己没有服务器,又不想捣鼓云函数,那有没更简便的自动化签到方式来,
      当然是有的,接下来我们就以金山文档的AirScript脚本来实现来实现阿里网盘的自动签到任务。
    

    AirScript脚本采用标准JavaScript语言进行编写,支持大部分ES6语法,官方文档还提及后续有计划支持python语言。

    重要:阿里的token的有效期大约在一个月之间,需要过期重新获取。

    签到执行日志

    实现步骤

    打开金山云

    金山文档网页版

    进入金山文档网页版 https://www.kdocs.cn/

    新建AirScript脚本文档

    自己新建一个空白智能表格,点击【效率】-【高级开发】-【AirScript脚本编辑器】

    创建阿里云盘签到脚本

    点击【创建脚本】-【文档共享脚本】,成功后命名一下,可以命名为:阿里云盘签到

    添加脚本API服务

    点击【服务】-【添加服务】,将出中间意外的服务添加下,云文档API、网络API以下脚本因为没有应用到邮件服务,采用的是微信公众号推送消息,比邮件通知实现起来简单多了

    添加脚本代码到编辑器

    代码复制到编辑器中

    
    /*阿里云盘自动签到微信推送版
    * 博客 https://www.luyuz.cn/Aliyun-Drive-Auto-Sign.html
    * 
    */
    
    var myDate = new Date();
    var data_time = myDate.toLocaleDateString()
    var pushtoken = Application.Range('C1').Text
    
    
    function sleep(d){
      for(var t = Date.now();Date.now() - t <= d;);
    }
    var value= ""
    var num = 0
    for (let ii = 1; ii <= 10; 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 ="账号"+ii+"token值错误,程序执行失败,请重新复制正确的token值"
        }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']
    
            sleep(2000)
            // 领取奖励
            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+ "账号:"+data["user_name"]+"-签到成功, 本月累计签到"+ signin_count+"天"+"\n" + "本次签到获得"+data3["result"]["name"] +","+data3["result"]["description"]+"\n"
            var v6 = "阿里云盘签到通知:\n"+value
            console.log(value)
            // 微信推送
            let data5 = HTTP.post("http://www.pushplus.plus/send",
            JSON.stringify({
              token:pushtoken,
              title: "签到成功, 本月累计签到"+ signin_count+"天",
              content: v6
              })
              );
          }catch{
            var value = value+ "账号:"+data["user_name"]+"-程序出错,请检查代码后重新运行"+"\n"
           
          }
        }
      }else{
        num=num+1
      }
    
    }
    //console.log(num)
    if(num==10){
      value = "未获取到表格中的token内容,请重新检查"
    }
    
    
    
    

    获取阿里网盘的token

    获取阿里网盘的token,即refresh_token的值

    进入网页版 阿里网盘 https://www.aliyundrive.com 在浏览器中右击点击【检查】-浏览器中获取 refresh_token 的值 【Application】【Local Storage】

    重要:阿里的token的有效期大约在一个月之间,需要过期重新获取。

    将refresh_token 的值复制到表格A1中

    将refresh_token 的值复制到表格中,(A2-A20)可以写入多个账号的refresh_token, 在C1列写入自己的pushplustokn

    pushplustoken 具体可以参照获取 https://www.luyuz.cn/pushplus.html

    pushplustoken的获取

    pushplus介绍
    如果您想要接收实时的消息,比如报警、通知、状态等,您可以使用pushplus这个平台。
    它可以把消息通过微信、短信、邮件等方式发送给您,让您不错过任何重要的信息。
    您只需要使用简单的API接口,或者网页端的工具,就可以轻松地发送和接收消息
    
    pushplus 使用
    我们可以使用最简单的微信公众号推送消息,只需微信扫码登录即可获取推送 token
    
    复制进入 www.pushplus.plus 
    使用微信扫码登录,在首页找到-发送消息-一对一消息,或者直接复制进入www.pushplus.plus/push1.html,找到你的token,复制填写到需要的地方即可
    

    1.微信扫码登录 pushplus www.pushplus.plus

    2.点击 pushplus_token www.pushplus.plus/push1.html 找到你的token 复制填写到需要的地方即可

    若想在微信中收到弹窗消息,即时获取消息,即可在公众号设置页面,将接收文章推送打开即可

    执行脚本定时任务

    1.脚本中,点击上方的【保存】按钮,再点击【运行】按钮

    2.关闭代码编辑框,点击【效率】-【高级开发】-【定时任务】

    3.点击【创建任务】-设置每天运行的时间,选择刚刚选择的脚本,保存就完成了无服务阿里云盘签到服务