获取 refresh_token
- 网页登录阿里云盘官网 www.aliyundrive.com/drive
- F12进入开发者工具,找到Local storage中的www.aliyundrive.com这个域名,点到这个域名会看到有一个 token 选项,再点 token ,就找到 refresh_token 了
修改代码中$refreshTokenArray
值为refresh_token
<?php
$updateAccessTokenURL = "https://auth.aliyundrive.com/v2/account/token";
$signURL = "https://member.aliyundrive.com/v1/activity/sign_in_list";
$refreshTokenArray = [
"",
];
foreach ($refreshTokenArray as $index => $refreshToken) {
try {
$queryBody = [
'grant_type' => 'refresh_token',
'refresh_token' => $refreshToken
];
$reqtoken = doCurlPostRequest($updateAccessTokenURL, $queryBody);
// var_dump($reqtoken);
$access_token = $reqtoken->access_token;
$reqsign = doCurlPostRequest($signURL, $queryBody, ['Authorization: Bearer ' . $access_token,]);
// var_dump($reqsign);
if ($reqsign->success) {
printLog('token_' . $index . ' 签到成功!');
}
} catch (\Exception $exception) {
printLog('运行错误!' . $exception->getMessage());
}
}
function printLog($message)
{
echo sprintf('[%s] %s', date('Y-m-d H:i:s'), $message) . PHP_EOL;
}
function doCurlPostRequest($url = '', array $data = [], array $header = [])
{
$data_string = json_encode($data, JSON_UNESCAPED_UNICODE);
$curl_con = curl_init();
curl_setopt($curl_con, CURLOPT_URL, $url);
curl_setopt($curl_con, CURLOPT_HEADER, false);
curl_setopt($curl_con, CURLOPT_POST, true);
curl_setopt($curl_con, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl_con, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($curl_con, CURLOPT_HTTPHEADER,
array_merge($header, [
'Content-Type: application/json',
'Content-Length: ' . strlen($data_string)
])
);
curl_setopt($curl_con, CURLOPT_POSTFIELDS, $data_string);
$res = curl_exec($curl_con);
$status = curl_getinfo($curl_con);
curl_close($curl_con);
if (isset($status['http_code']) && $status['http_code'] == 200) {
return json_decode($res);
}
return false;
}
定时执行
随便搞