var
myDate =
new
Date();
var
data_time = myDate.toLocaleDateString();
function
sleep(d) {
for
(
var
t = Date.now(); Date.now() - t <= d;);
}
function
log(message) {
console.log(message);
}
function
sendPushPlusNotification(message) {
var
data = {
token:
"填入pushplus token"
,
title:
"阿里云盘签到通知"
,
content: message,
template:
"html"
};
HTTP.post(
"https://pushplus.plus/send"
, JSON.stringify(data));
}
var
tokenColumn =
"A"
;
var
signInColumn =
"B"
;
var
rewardColumn =
"C"
;
var
emailColumn =
"F"
;
var
sendEmailColumn =
"G"
;
var
resultColumn =
"J"
;
for
(
let
row = 2; row <= 20; row++) {
var
refresh_token = Application.Range(tokenColumn + row).Text;
var
sflq = Application.Range(signInColumn + row).Text;
var
sflqReward = Application.Range(rewardColumn + row).Text;
var
jsyx = Application.Range(emailColumn + row).Text;
var
sendEmail = Application.Range(sendEmailColumn + row).Text;
var
customEmailResult = Application.Range(resultColumn + row).Text;
var
emailConfigured = Application.Range(
"J1"
).Text;
var
zdy_host = Application.Range(
"J2"
).Text;
var
zdy_post = parseInt(Application.Range(
"J3"
).Text);
var
zdy_username = Application.Range(
"J4"
).Text;
var
zdy_pasd = Application.Range(
"J5"
).Text;
if
(sflq ==
"是"
) {
if
(refresh_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) {
log(
"单元格【"
+ tokenColumn + row +
"】内的token值错误,程序执行失败,请重新复制正确的token值"
);
continue
;
}
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
logMessage =
"账号:"
+ phone +
" - 签到成功,本月累计签到 "
+ signin_count +
" 天"
;
var
rewardMessage =
""
;
if
(sflqReward ==
"是"
) {
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
rewardName = data3[
"result"
][
"name"
];
var
rewardDescription = data3[
"result"
][
"description"
];
rewardMessage =
" "
+ rewardName +
" - "
+ rewardDescription;
}
catch
(error) {
if
(error.response && error.response.data && error.response.data.error) {
var
errorMessage = error.response.data.error;
if
(errorMessage.includes(
" - 今天奖励已领取"
)) {
rewardMessage =
" - 今天奖励已领取"
;
log(
"账号:"
+ phone +
" - "
+ rewardMessage);
}
else
{
log(
"账号:"
+ phone +
" - 奖励领取失败:"
+ errorMessage);
}
}
else
{
log(
"账号:"
+ phone +
" - 奖励领取失败"
);
}
}
}
else
{
rewardMessage =
" - 奖励待领取"
;
}
}
else
{
rewardMessage =
" - 奖励待领取"
;
}
log(logMessage + rewardMessage);
sendPushPlusNotification(logMessage + rewardMessage);
if
(sendEmail ==
"是"
) {
try
{
let
mailer;
if
(customEmailResult ==
"是"
) {
var
customEmail = Application.Range(resultColumn + row).Text;
if
(emailConfigured ===
"是"
) {
mailer = SMTP.login({
host: zdy_host,
port: zdy_post,
username: zdy_username,
password: zdy_pasd,
secure:
true
});
mailer.send({
from:
"阿里云盘签到<"
+ zdy_username +
">"
,
to: customEmail,
subject:
"阿里云盘签到通知 - "
+ data_time,
text: logMessage + rewardMessage
});
}
else
{
mailer = SMTP.login({
host:
"smtp.163.com"
,
port: 465,
username:
"fs8484848@163.com"
,
password:
"QADSEMPKDHDAVWVD"
,
secure:
true
});
mailer.send({
from:
"阿里云盘签到<[email]fs8484848@163.com[/email]>"
,
to: customEmail,
subject:
"阿里云盘签到通知 - "
+ data_time,
text: logMessage + rewardMessage
});
}
log(
"账号:"
+ phone +
" - 已发送邮件至:"
+ customEmail);
}
else
{
if
(emailConfigured ===
"是"
) {
mailer = SMTP.login({
host: zdy_host,
port: zdy_post,
username: zdy_username,
password: zdy_pasd,
secure:
true
});
mailer.send({
from:
"阿里云盘签到<"
+ zdy_username +
">"
,
to: jsyx,
subject:
"阿里云盘签到通知 - "
+ data_time,
text: logMessage + rewardMessage
});
}
else
{
mailer = SMTP.login({
host:
"smtp.163.com"
,
port: 465,
username:
"fs8484848@163.com"
,
password:
"QADSEMPKDHDAVWVD"
,
secure:
true
});
mailer.send({
from:
"阿里云盘签到<[email]fs8484848@163.com[/email]>"
,
to: jsyx,
subject:
"阿里云盘签到通知 - "
+ data_time,
text: logMessage + rewardMessage
});
}
log(
"账号:"
+ phone +
" - 已发送邮件至:"
+ jsyx);
}
}
catch
(error) {
log(
"账号:"
+ phone +
" - 发送邮件失败:"
+ error);
}
}
}
catch
{
log(
"单元格【"
+ tokenColumn + row +
"】内的token签到失败"
);
continue
;
}
}
else
{
log(
"账号:"
+ phone +
" 不签到"
);
}
}
}
var
currentDate =
new
Date();
var
currentDay = currentDate.getDate();
var
lastDayOfMonth =
new
Date(currentDate.getFullYear(), currentDate.getMonth() + 1, 0).getDate();
if
(currentDay === lastDayOfMonth) {
for
(
let
row = 2; row <= 20; row++) {
var
sflq = Application.Range(signInColumn + row).Text;
var
sflqReward = Application.Range(rewardColumn + row).Text;
if
(sflq ===
"是"
&& sflqReward ===
"是"
) {
var
refresh_token = Application.Range(tokenColumn + row).Text;
var
jsyx = Application.Range(emailColumn + row).Text;
var
phone =
"账号:"
+ phone;
if
(refresh_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'
];
if
(access_token === undefined) {
log(
"单元格【"
+ tokenColumn + row +
"】内的token值错误,程序执行失败,请重新复制正确的token值"
);
continue
;
}
try
{
var
access_token2 =
'Bearer '
+ access_token;
let
data4 = HTTP.post(
"https://member.aliyundrive.com/v1/activity/sign_in_reward?_rx-s=mobile"
,
JSON.stringify({
"signInDay"
: lastDayOfMonth }),
{ headers: {
"Authorization"
: access_token2 } }
);
data4 = data4.json();
var
claimStatus = data4[
"result"
][
"status"
];
var
day = lastDayOfMonth;
if
(claimStatus ===
"CLAIMED"
) {
log(
"账号:"
+ phone +
" - 第 "
+ day +
" 天奖励领取成功"
);
}
else
{
log(
"账号:"
+ phone +
" - 第 "
+ day +
" 天奖励领取失败"
);
}
}
catch
{
log(
"单元格【"
+ tokenColumn + row +
"】内的token签到失败"
);
continue
;
}
}
else
{
log(
"账号:"
+ phone +
" 不签到"
);
}
}
}
log(
"自动领取未领取奖励完成。"
);
}