WPS实现夸克网盘和阿里云盘签到!
WPS实现夸克网盘和阿里云盘签到!
最近不少小伙伴说怕Github上面的自动签到不安全,毕竟cookie配置都是暴露在外面的,而且由于国内政策原因,不少人根本访问不到GitHub(/= _ =)/~┴┴
于是用了点时间把原本GitHub上面的签到项目迁移到WPS上面了。
什么?WPS还能运行GO项目么??
当然不行,不过wps有个AS脚本,我们可以根据这个来开发签到功能。闲话少说,直接开始本期教程。
WPS执行多平台签到
wps官网:https://www.kdocs.cn/
首先我们需要创建一个excel表格,空白的即可。
表格创建完成后我们就可以创建任务脚本了,点击效率
->高级开发
->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()
点击服务授权添加三个服务,分别是云文档、网络和邮件。
保存一下脚本,先别运行呢。还记得github那个项目需要配置一些token和cookie么,这个同样需要配置。
A列
按照我这个顺序写进去,B列
就填对应的配置,具体配置和GitHub那个一致,不知道怎么获得的可以去项目下面的README.md查看。
项目地址:https://github.com/nibabashilkk/alipan_auto_sign
全部都配置好后就可以开始运行了,日志里会打印出来输出,同时微信pushplush也会给你推送签到结果。
自动运行
WPS同样支持定时任务,估计比GitHub action准时一点。
创建一个每天早上九点定制执行咱们脚本的任务即可。
像是下面这个就说明创建成功了,可以等等第二天运行,看看能不能签到成功。
好了,本期签到到此结束,和GitHub action相比,这个安全性还是比较好的,推荐使用这种。
学习资料见知识星球。
以上就是今天要分享的技巧,你学会了吗?若有什么问题,欢迎在下方留言。
快来试试吧,小琥 my21ke007。获取 1000个免费 Excel模板福利!
更多技巧, www.excelbook.cn
欢迎 加入 零售创新 知识星球,知识星球主要以数据分析、报告分享、数据工具讨论为主;
1、价值上万元的专业的PPT报告模板。
2、专业案例分析和解读笔记。
3、实用的Excel、Word、PPT技巧。
4、VIP讨论群,共享资源。
5、优惠的会员商品。
6、一次付费只需129元,即可下载本站文章涉及的文件和软件。
共有 0 条评论