WPS实现夸克网盘和阿里云盘签到!

WPS实现夸克网盘和阿里云盘签到!

最近不少小伙伴说怕Github上面的自动签到不安全,毕竟cookie配置都是暴露在外面的,而且由于国内政策原因,不少人根本访问不到GitHub(/= _ =)/~┴┴

于是用了点时间把原本GitHub上面的签到项目迁移到WPS上面了。

什么?WPS还能运行GO项目么??

当然不行,不过wps有个AS脚本,我们可以根据这个来开发签到功能。闲话少说,直接开始本期教程。

WPS执行多平台签到

wps官网:https://www.kdocs.cn/

首先我们需要创建一个excel表格,空白的即可。

1.webp

表格创建完成后我们就可以创建任务脚本了,点击效率->高级开发->AirScript脚本编辑器即可创建一个属于我们的脚本。

 

把下面代码复制到你新建的脚本里面。

let userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36 Edg/123.0.0.0"

//pushPlus推送
function pushplus(pushPlusToken,title,content){
  let url = "http://www.pushplus.plus/send/"
  let body = {
    "token":pushPlusToken,
    "title":title,
    "content":content
  }
  post(url,{
      userAgent:userAgent,
      'Content-Type': 'application/json'
    },body)
  Time.sleep(1000)
}

//京东签到
function jdSign(cookie,pushPlusToken) {
  let url = "https://api.m.jd.com/client.action?functionId=signBeanAct&body=%7B%22fp%22%3A%22-1%22%2C%22shshshfp%22%3A%22-1%22%2C%22shshshfpa%22%3A%22-1%22%2C%22referUrl%22%3A%22-1%22%2C%22userAgent%22%3A%22-1%22%2C%22jda%22%3A%22-1%22%2C%22rnVersion%22%3A%223.9%22%7D&appid=ld&client=apple&clientVersion=10.0.4&networkType=wifi&osVersion=14.8.1"
  let data = post(url,{
    cookie:cookie,
    userAgent:userAgent
  },null)
  if (data["code"]!="0"){
    pushplus(pushPlusToken,"京东每日签到","签到失败"+data["errorMessage"])
    console.log("签到失败"+data["errorMessage"])
  }else{
    let dailyAward
    if (data["data"]["dailyAward"]!=null){
      dailyAward = data["data"]["dailyAward"]
    } else if (data["data"]["continuityAward"]) {
      dailyAward = data["data"]["continuityAward"]
    }
    pushplus(pushPlusToken,"京东每日签到",dailyAward["title"]+dailyAward["beanAward"]["beanCount"]+"京豆")
    console.log(dailyAward["title"]+dailyAward["beanAward"]["beanCount"]+"京豆")
  }
}

//B站签到
/**
* @param {any} cookie
* @param {any} pushPlusToken
*/
function biliSign(cookie,pushPlusToken){
  let url = "https://api.live.bilibili.com/xlive/web-ucenter/v1/sign/DoSign"
  let data = get(url,{
    'Cookie':cookie,
    userAgent:userAgent
  })
  if (data["code"]!=null){
    if (data["code"]==0){
      pushplus(pushPlusToken,"B站直播签到",data["data"]["text"])
      console.log(data["data"]["text"])
    }else{
      pushplus(pushPlusToken,"B站直播签到",data["message"])
      console.log(data["message"])
    }
  }
}

//获取accessToken
function getAccessToken(refreshToken,pushPlusToken) {
  let url = "https://auth.aliyundrive.com/v2/account/token"
  let body = {
    "grant_type":"refresh_token",
    "refresh_token":refreshToken
  }
  let data = post(url,{
      userAgent:userAgent,
      'Content-Type': 'application/json'
    },body)
  if (data["access_token"]==null){
    pushplus(pushPlusToken,"阿里云盘自动签到","refreshToken过期,请更改后重试")
    console.log("refreshToken过期,请更改后重试")
    return null
  } else {
    return data["access_token"]
  }
}

//获取签到次数
function signIn(accessToken,pushPlusToken) {
  let url = "https://member.aliyundrive.com/v1/activity/sign_in_list"
  let body = {
    "_rx-s":"mobile"
  }
  let data = post(url,{
      'Content-Type': 'application/json',
      userAgent:userAgent,
      'Authorization':accessToken
    },body)
    if (data["result"]["signInCount"]!=null){
      return data["result"]["signInCount"]
    } else {
    return null
    }
}

//签到并获取奖励
function getReward(accessToken,signInCount,pushPlusToken) {
  let url = "https://member.aliyundrive.com/v1/activity/sign_in_reward?_rx-s=mobile"
  let body = {
    "signInDay":signInCount
  }
  let data = post(url,{
      'Content-Type': 'application/json',
      userAgent:userAgent,
      'Authorization':accessToken
  },body)
  if (data["result"]["notice"]!=null){
    return data["result"]["notice"]
  } else {
    pushplus(pushPlusToken,"阿里云盘自动签到","获取奖励失败")
    console.log("获取奖励失败")
    return null
  }
}

//阿里云盘签到入口
function aliPanSign(refreshToken,pushPlusToken) {
  let accessToken = getAccessToken(refreshToken,pushPlusToken)
  if (accessToken!=null){
    let signCount = signIn(accessToken,pushPlusToken)
    if (signCount!=null){
      let reward = getReward(accessToken,signCount,pushPlusToken)
      if (reward!=null){
        pushplus(pushPlusToken,"阿里云盘自动签到","签到成功,你已经签到"+signCount+"次,本次签到奖励————"+reward)
        console.log(reward)
      }
    }
  }
}

//封装请求
function get(url,headers) {
  return HTTP.get(url, {
        headers: headers,
      }).json()
}

function post(url,headers,data){
  return HTTP.post(url, typeof data == 'string' ? data : JSON.stringify(data), {
        headers: headers,
      }).json()
}

// 夸克网盘签到
/**
* @param {any} cookie
* @param {any} pushPlusToken
*/
function kkSign(cookie,pushPlusToken) {
  let url = "https://drive-m.quark.cn/1/clouddrive/capacity/growth/info?pr=ucpro&fr=pc&uc_param_str="
  let data = HTTP.fetch(url,{
    headers:{
      cookie:cookie,
      userAgent:userAgent
    },
    method:"GET"
  }).json()
  let isSign = data["data"]["cap_sign"]["sign_daily"]
  if (isSign) {
    let reward = data["data"]["cap_sign"]["sign_daily_reward"]/(1024 * 1024)
    pushplus(pushPlusToken,"夸克网盘每日签到","今天已经签到过了,获得容量"+reward+"MB")
    console.log("今天已经签到过了,获得容量"+reward+"MB")
  } else {
    let signUrl = "https://drive-m.quark.cn/1/clouddrive/capacity/growth/sign?pr=ucpro&fr=pc&uc_param_str="
    let body = {
      "sign_cyclic":"True"
    }
    let data = HTTP.fetch(signUrl,{
      method:"POST",
      headers:{
        cookie:cookie,
        userAgent:userAgent
      },
      body:JSON.stringify(body)
    })
    console.log(data)
    let reward = data["data"]["sign_daily_reward"] / (1024*1024)
    pushplus(pushPlusToken,"夸克网盘每日签到","签到成功,今日签到奖励"+reward+"MB")
    console.log("签到成功,今日签到奖励"+reward+"MB")
  }
}

function main() {
  let sheet = Application.Sheets.Item("Sheet1") || ActiveSheet
  let pushPlusToken = sheet.Columns("B").Rows(1).Text
  let currentSheet = Application.Sheets.Item("Sheet1") || ActiveSheet
  const usedRange = currentSheet.UsedRange
  for (rowNumber = 2; rowNumber <= 5; rowNumber++) {
    const rowToGet = currentSheet.Rows(rowNumber)
    for (let column = usedRange.Column; column <= usedRange.Column + usedRange.Columns.Count - 1; column++) {
      if (column === 1) {
        continue
      }
      const cell = rowToGet.Columns(column)
      if (cell.Text == "") {
        continue
      }
      switch (rowNumber) {
        case 2:
          aliPanSign(cell.Text,pushPlusToken)
          break
        case 3:
          biliSign(cell.Text,pushPlusToken)
          break
        case 4:
          kkSign(cell.Text,pushPlusToken)
          break
        case 5:
          jdSign(cell.Text,pushPlusToken)
      }
    }
  }
}

main()

点击服务授权添加三个服务,分别是云文档、网络和邮件。

 

pAqZx6e.webp

保存一下脚本,先别运行呢。还记得github那个项目需要配置一些token和cookie么,这个同样需要配置。

pAqZvlD.webp

 

A列按照我这个顺序写进去,B列就填对应的配置,具体配置和GitHub那个一致,不知道怎么获得的可以去项目下面的README.md查看。

项目地址:https://github.com/nibabashilkk/alipan_auto_sign

pAqZOfK.webp

全部都配置好后就可以开始运行了,日志里会打印出来输出,同时微信pushplush也会给你推送签到结果。

pAqZLY6.webp

自动运行

WPS同样支持定时任务,估计比GitHub action准时一点。

pAqZqFx.webp

创建一个每天早上九点定制执行咱们脚本的任务即可。

pAqVzaq.webp

像是下面这个就说明创建成功了,可以等等第二天运行,看看能不能签到成功。

pAqVXrj.webp

好了,本期签到到此结束,和GitHub action相比,这个安全性还是比较好的,推荐使用这种。

 

 

学习资料见知识星球。

以上就是今天要分享的技巧,你学会了吗?若有什么问题,欢迎在下方留言。

快来试试吧,小琥 my21ke007。获取 1000个免费 Excel模板福利​​​​!

更多技巧, www.excelbook.cn

欢迎 加入 零售创新 知识星球,知识星球主要以数据分析、报告分享、数据工具讨论为主;

2022021703525891-178

你将获得:

1、价值上万元的专业的PPT报告模板。

2、专业案例分析和解读笔记。

3、实用的Excel、Word、PPT技巧。

4、VIP讨论群,共享资源。

5、优惠的会员商品。

6、一次付费只需129元,即可下载本站文章涉及的文件和软件。

文章版权声明 1、本网站名称:Excelbook
2、本站永久网址:http://www.excelbook.cn
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长王小琥进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报。
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。

THE END
分享
二维码
< <上一篇
下一篇>>