阿里云盘自动每日签到,无需部署,无需服务器

#极限操作 2024-01-10 20:10:00 | 全文 1415 字,阅读约需 3 分钟 | 加载中... 次浏览

👋 相关阅读


执行思路:使用金山文档的每日定时任务,执行阿里云盘签到接口。

无需部署,无需服务器,每个月更新一次 token 即可。

先看本人的自动签到效果:

Alt text

废话不多说,方法如下:

进入金山文档网页版

https://www.kdocs.cn/

Alt text

新建空白Excel

随便新建一个空白的普通 Excel 表格即可

表格内容如下:

注意看清图片中是在哪一列

refresh_token 是否领取奖励 是否发送签到提醒
你的token 接收Bark地址 Bark地址

Alt text

阿里云盘token获取

从浏览器中获取 refresh_token 的值,首先要浏览器登录 阿里云盘

如下图步骤获取:

Alt text

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

Alt text

创建 AirScript 脚本

随便新建一个空表格,点击【效率】-【高级开发】-【AirScript脚本编辑器】

Alt text

点击【创建脚本】-【文档共享脚本】

Alt text

创建成功后随便命名,我这里命名为:阿里云盘签到

点击【服务授权】-【添加服务】,把服务全部添加

Alt text

将以下代码复制到编辑器中

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(jsyx != ""){
    try{
      let data4 = HTTP.get(
            "https://api.day.app/"+jsyx+"/"+value
          )
      console.log(data4.json())
    }catch(error){
      console.log("发送通知失败"+error)
    }
  }else{
    console.log("不可发送通知")
  }
}

脚本中,点击上方的【保存】按钮,再点击【运行】按钮测试一下,正常的话如下显示:

Alt text

添加定时任务

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

Alt text

点击【创建任务】

设置每天运行的时间,选择刚刚选择的脚本,保存,大功告成

Alt text

定时刷新token

老样子,金山文档创建一个共享脚本,然后将下面代码粘进去,记得添加网络api 服务

然后设置一个每周定时任务就好了。

for (let ii = 2; ii <= 20; ii++){
  dyg = "A"+ii
  var refresh_token = Application.Range(dyg).Text

  var loginnotice = "每个月自动刷新refresh_token";
  let my_token = HTTP.post("https://auth.aliyundrive.com/v2/account/token",
  JSON.stringify({
      "grant_type": "refresh_token",
      "refresh_token": refresh_token
  }));
  my_token = my_token.json()["refresh_token"]
  if (my_token) {
    Application.Range(dyg).Value = my_token
    console.log(my_token)
    console.log("token更换成功");

  }
}

Alt text

VIA

阿里云盘自动每日签到,无需部署,无需服务器 - 知乎 https://zhuanlan.zhihu.com/p/629476969?utm_id=0

阿里云盘自动签到-自动更新token免部署-2023.12.16 - 『编程语言区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn https://www.52pojie.cn/thread-1869673-1-1.html

·




×