2013年10月17日

Google Drive 取得檔案外連網址及下載網址的簡易方法__原理分析及案例整理

Google Drive 取得檔案外連網址及下載網址的簡易方法__原理分析及案例整理

Wayne Fu 0 A+

(Pic from: softicons.com)
在「取代 Google Code 外連 js 檔的選擇__Google Drive」這篇文章的「四、Google Drive 取得檔案外連的簡易方法及範例」,已經介紹過取得檔案外連路徑的簡易方法。不過 +Mark X  曾告知 "我發現我使用的版本沒有主機位置這項"、"試傳一張圖片, 還是沒有. 是因為我用英文版本嗎?"。

當時以為可能是版本不同造成的問題,不過後來 PTT Google 版也有網友反應類似狀況,所以看來不是版本的問題。經過測試後找到了真正原因,以下說明原理、及取得檔案外連路徑的可行步驟,且一併整理不能顯示檔案外連路徑的各種狀況。


2014.11.21 公告:如果你的 Google Drive 已經升級為最新版的介面,請使用這篇「Google Drive 外連產生器__一秒鐘輕鬆複製連結」。


一、Google Drive 外連檔案路徑的原理


1. 失效狀況

按照「前文」的方法來取得外連路徑,經過測試之後發現:

  • 只要是將檔案上傳到根目錄,無論是否設定為公開,都無法顯示外連路徑

但是依照前文「三、Google Drive 的操作」的步驟,所有上傳到資料夾的 js 檔,明明都能顯示外連路徑,怎麼會這樣呢?


2. 外連檔案路徑的原理

以我的這個檔案「translate.js」為例,其外連網址為:

https://googledrive.com/host/0BykclfTTti-0SlU3SDg5RUVtNlk/translate.js

經分析以上網址後可發現其結構,https://googledrive.com/host/0BykclfTTti-0SlU3SDg5RUVtNlk/ 這個字串為資料夾路徑,translate.js 這個字串為檔名,這是一個「結構式外連路徑」。想要測試的話,可將 https://googledrive.com/host/0BykclfTTti-0SlU3SDg5RUVtNlk/ 貼到網址,就會顯示該資料夾的所有檔案。

那麼真相就呼之欲出了,如果我將 translate.js 上傳到根目錄,這個檔案的外連路徑不可能變成 https://googledrive.com/host/translate.js,因為此網址無法判斷出是那個使用者的檔案,難怪在根目錄的檔案 Google Drive 不顯示外連網址。

因此,想得到簡易的「結構式外連路徑」,答案就是必須將檔案上傳到資料夾



二、取得外連路徑的正確方法


根據「一、Google Drive 外連檔案路徑的原理」得到的結論,以下為簡單操作步驟說明:

1. 建立資料夾,將資料夾的共用權限設定為「公開在網路上
2. 將檔案上傳(或拖曳)到此資料夾
3. 對著檔案按右鍵,點選「詳細資料」,即可找到外連路徑。

如需要圖文對照說明,請參考「前文」→「三、Google Drive 的操作」→「四、Google Drive 取得檔案外連的簡易方法及範例」即可。



三、各種不能顯示外連路徑的狀況


根據個人的使用經驗,仍然有一些檔案與某些狀況是看不到「結構式外連路徑」的,整理如下:

1. Google Drive 建立的檔案

例如試算表、表單這些由 Google Drive 所建立的檔案,因為另外放在別的伺服器,所以其外連路徑要用別的操作方式取得。如下圖紅框,試算表右上角的「共用」按鈕可取得檔案共用連結。



另外,若想取得試算表中的資料數據,可參考這篇「利用 Google 問卷(試算表)當小型資料庫__(一)製作資料庫


2. 上傳相同檔名的檔案

經測試後,如果上傳相同檔名的檔案(例如 wfu.js),較舊的檔案不會被覆蓋,所有 wfu.js 會並存於 Google Drive,相信這是為了協同作業而設計,保留檔案的更新歷程。如此「結構式外連路徑」將無法對應多個檔案,而導致失效。



在這種情況下,如上圖,按右鍵選擇 "詳細資料"時,所有 wfu.js 都看不到「結構式外連路徑」。

另外要注意的是,就算把所有 wfu.js 全部刪除,額外再上傳一個 wfu.js,仍然無法看到「結構式外連路徑」!所以必須避免上傳相同檔名的檔案



四、提供下載的外連網址


2014.2.4 補充:以上談的都是「檔案外連網址」,適合外連的 js、CSS 這類檔案,或直接將 PDF、DOC 等展示在網頁上的檔案。

不過當我們要提供訪客下載的檔案時,就不能用外連網址了,必須另外使用專門下載的網址。關於這個部份,可參考這篇「Google Drive 共用檔案連結,轉換成直接下載連結」製作一個快速轉換書籤。


Google Drive 相關心得:
0 0
如這篇文章對你有幫助,歡迎「分享」到 FB、「追蹤」粉絲團、「訂閱」最新文章

4 則留言:

  1. '2. 上傳相同檔名的檔案'
    是否唯有將整個資料夾delete,再另開一個新的資料夾,才會出現結構式外連路徑?

    回覆刪除
  2. 我的原因則是一開始建立的資料夾就必須"即刻"設定為公開(空資料夾), 然後才能開始放資料進去, 而那些資料才會顯示主機位置. 如上傳完資料後才設定為公開就不會有主機路徑.

    回覆刪除
  3. <2748883796408325837>(以上內容請勿刪除,從括號之後開始留言)要多謝您破解這樁迷案!

    回覆刪除
  4. <8411265580543784974>(以上內容請勿刪除,從括號之後開始留言)等臉書修復好再測試.
    原來的Blogger留言板使用內嵌式不是比較方便嗎?怎麼會想到使用popup?

    回覆刪除

張貼留言注意事項:

◎ 勾選「通知我」可收到後續回覆的mail!
◎ 請在相關文章留言,與文章無關的主題可至「Blogger 社團」提問。
◎ 請避免使用 Safari 瀏覽器,否則無法登入 Google 帳號留言(只能匿名留言)!
◎ 提問若無法提供足夠的資訊供判斷,可能會被無視。建議先參考這篇「Blogger 提問技巧及注意事項」。
◎ CSS 相關問題非免費諮詢,建議使用「Chrome 開發人員工具」尋找答案。
◎ 手機版相關問題請參考「Blogger 行動版範本的特質」→「三、行動版範本不一定能執行網頁版工具」;或參考「Blogger 行動版範本修改技巧 」,或本站 Blogger 行動版標籤相關文章。
◎ 非官方範本問題、或貴站為商業網站,請參考「Blogger 免費諮詢 + 付費諮詢
◎ 若是使用官方 RWD 範本,請參考「Blogger 推出全新自適應 RWD 官方範本及佈景主題」→ 不建議對範本進行修改!
◎ 若留言要輸入語法,"<"、">"這兩個符號請用其他符號代替,否則語法會消失!
◎ 為了過濾垃圾留言,所有留言不會即時發佈,請稍待片刻。
◎ 本站「已關閉自刪留言功能」。

TOP