Merge pull request #178 from qinfendebingshuo/copilot/fix-rclone-oauth-token-bug
fix: rclone OAuth2 token JSON — use Node.js instead of shell echo
This commit is contained in:
commit
fbdc8dae8a
|
|
@ -49,16 +49,27 @@ jobs:
|
||||||
|
|
||||||
echo "✅ OAuth2 credentials validated"
|
echo "✅ OAuth2 credentials validated"
|
||||||
|
|
||||||
|
# Use node to generate token JSON — avoids shell escaping issues with special characters
|
||||||
|
TOKEN_JSON=$(node -e "
|
||||||
|
const token = {
|
||||||
|
access_token: '',
|
||||||
|
token_type: 'Bearer',
|
||||||
|
refresh_token: process.env.GDRIVE_REFRESH_TOKEN,
|
||||||
|
expiry: '2000-01-01T00:00:00Z'
|
||||||
|
};
|
||||||
|
process.stdout.write(JSON.stringify(token));
|
||||||
|
")
|
||||||
|
|
||||||
mkdir -p "${HOME}/.config/rclone"
|
mkdir -p "${HOME}/.config/rclone"
|
||||||
{
|
cat > "${HOME}/.config/rclone/rclone.conf" <<RCLONE_EOF
|
||||||
echo "[gdrive]"
|
[gdrive]
|
||||||
echo "type = drive"
|
type = drive
|
||||||
echo "scope = drive"
|
scope = drive
|
||||||
echo "client_id = ${GDRIVE_CLIENT_ID}"
|
client_id = ${GDRIVE_CLIENT_ID}
|
||||||
echo "client_secret = ${GDRIVE_CLIENT_SECRET}"
|
client_secret = ${GDRIVE_CLIENT_SECRET}
|
||||||
echo "token = {\"access_token\":\"\",\"token_type\":\"Bearer\",\"refresh_token\":\"${GDRIVE_REFRESH_TOKEN}\",\"expiry\":\"2000-01-01T00:00:00Z\"}"
|
token = ${TOKEN_JSON}
|
||||||
echo "root_folder_id = 1fqWdLPaZkUZYt4OT_h3fJQHnd-q5QN3G"
|
root_folder_id = 1fqWdLPaZkUZYt4OT_h3fJQHnd-q5QN3G
|
||||||
} > "${HOME}/.config/rclone/rclone.conf"
|
RCLONE_EOF
|
||||||
chmod 600 "${HOME}/.config/rclone/rclone.conf"
|
chmod 600 "${HOME}/.config/rclone/rclone.conf"
|
||||||
|
|
||||||
echo "✅ rclone configured with OAuth2"
|
echo "✅ rclone configured with OAuth2"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue