[JS] Google 文件 一鍵下載,超級懶人專用!

自從開始玩 JavaScript 之後發現有些事情都變懶惰了,照慣例,懶得看、看不懂者請直接跳到文末取連結XD
Google 文件 只要 Ctrl+S 即可下載公開檔案,不過有些檔案太大或者 Google 無法進行掃描就會跳出下面這個畫面...


總共要按兩下才能下載,所以為了我懶惰就分析了一下的網址結構...

原本在 Google 文件 的網址:
https://docs.google.com/file/d/0B8IxwQ8yrH7eLW1IMzRpNlo3XXX/edit

點擊下載之後的網址:
https://docs.google.com/uc?export=download&id=0B8IxwQ8yrH7eLW1IMzRpNlo3XXX
假設沒問題應該是很迅速地就開始下載,但是如果碰到我剛說的情況,檔案過大無法掃描就會跳轉到上圖那個頁面。

圖中「仍要下載」的網址:
https://docs.google.com/uc?export=download&confirm=no_antivirus&id=0B8IxwQ8yrH7eLW1IMzRpNlo3XXX

很明顯,多了個
&confirm=no_antivirus

所以我想想就寫了簡單處理網址字串的 JS 如下:
location.assign("https://docs.google.com/uc?export=download&confirm=no_antivirus&id="+location.href.split("/")[5]);

但是測試後還是出現了圖中的頁面,想來想去發現是 Coockie 在作怪,上圖中的頁面會建立下圖的 Coockie。


所以就在代碼中加了段給他設定一下,沒想到不小心還是錯誤沒成功
document.cookie="download_warning_01383707709329122347_"+location.href.split("/")[5]+"=no_antivirus;location.assign("https://docs.google.com/uc?export=download&confirm=no_antivirus&id="+location.href.split("/")[5]);

後來仔細看才發現路徑設定錯誤,應該要在根目錄XD
document.cookie="download_warning_01383707709329122347_"+location.href.split("/")[5]+"=no_antivirus; path=/";location.assign("https://docs.google.com/uc?export=download&confirm=no_antivirus&id="+location.href.split("/")[5]);

寫到這裡如果你有仔細看會發現其實 JS 當中設定的 Coockie 跟圖中有些微的差異,那是因為這代碼是我之前寫的,圖片是剛抓的,其實我也不知道 _後面的數字有甚麼含意,不過反正代碼執行成功就好了XD

將下面這個連結直接拉到書籤列或者存成我的最愛即可享受懶人專用一鍵Google文件下載囉XD!
點我下載 Google 文件

P.s 後來經過測試發現,那數字有可能需要更動,等我搞懂那數字哪來的再把這篇補完吧 :P
話說我是用來下載動畫,一次抓25集這樣還是省下很多移動滑鼠的時間拉XD

留言

本月最夯

偷用電腦,怎知?事件檢視器全記錄!(開機時間、啟動項時間...)