前言
個人部落格常常需要放圖
imgur、fast.io、upload.cc、sm.ms...圖床到底長不長久始終令人存疑
一旦失效
對部落格的影響是劇烈的
一張張圖片的連結需要重新設定除了麻煩還很耗時
Google 雲端硬碟與Onedrive以前提供直連與嵌入功能
但後來也取消了
主因就是API的要求數量太大
伺服器負荷量日漸繁重
以商業角度來看改為現在以量收費的確是好方法
使用者付費能賺得利潤
同時也能提供更為穩定的服務
創作起因
講到API與自建圖床
大家一定會想到寫程式
沒有程式基礎或怕麻煩的人
一定會卻步
EGG我就想説製作一個快速配置程式
手機、電腦都能輕鬆操作
沒有程式基礎也沒關係
讓每個人都可以用自己的Google雲端硬碟來建立屬於自己的圖床
準備工作
一個Google帳號(註冊請點我)
請在雲端硬碟內先新增要當作圖床的資料夾
一個Cloudflare帳號(註冊請點我)
開始作業
程式地址:
https://github.com/Eggsmemory/goindex-traditional-cht
點擊下方網址進行快速配置
中文:https://goindex-auth.glitch.me/zh
英文:https://goindex-auth.glitch.me
警告畫面
若出現此應用程式未經驗證
請不要擔心
因為此應用是EGG親手製作的
僅為取得授權碼所用
未經Google驗證
所以會有警告
點選進階→前往Rclone即可
貼上授權碼
設定圖床顯示名稱
設定目錄ID、名稱、帳密
目錄ID為資料夾網址後面的一串文字
(若是根目錄就填root,不推薦)
範例:
https://drive.google.com/drive/u/5/folders/1pgCVeYOuXx5IUpp7Y9xk-hArkT88LRTX?sort=13&direction=a
*只要複製紅色部份就好,前後不需要
*如果是要當圖床,帳號密碼請留空
選擇你的語言,點選生成代碼
*授權碼為保障每位使用者隱私與安全性,設定僅能調用一次生成代碼,若是重複生成代碼會顯示錯誤訊息
按照下方圖的文字填入即可
打開Cloudflare登入,點擊Workers
貼上程式碼,點擊配置
(可依需求更改網址)
打開網址確認配置成功,完成自建圖床
DEMO網址:
https://goindex-egg.eggsmemory.workers.dev/
如何獲取圖片連結
找到要用的圖片→手機長按(電腦右側)複製連結網址
進階用法
使用自己的Client_id、Client_secret
點擊進入下方網頁
https://console.developers.google.com/apis
新增專案
1.設定名稱
2.API和服務→新增DRIVE API
3.API和服務→OAuth同意畫面→填入必填項
4.API和服務→憑證→建立憑證→OAuth 用戶端ID
5.複製Client_id、Client_secret
修改index
1.修改glitch專案中的對應檔案的網址
*需要點擊remix to edit才能編輯
*修改app.js內對應github網址為自己的github專案網址,第83行(見範例)
*點擊網址→View Source→Views/,修改中文檔案93行、英文檔案98行網址(見範例2)
https://glitch.com/~goindex-auth
範例(修改紅色部分為你的github名稱即可,若不會可以直接複製對應檔案網址):
`https://raw.githubusercontent.com/Eggsmemory/goindex-theme-acrou/master/go2index/index.js`
範例2(修改紅色部分為你的client_id即可):
href="https://accounts.google.com/o/oauth2/auth?client_id=528978157835-87j8t3nikeugd1fefqufdb9knu9551n8.apps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&response_type=code&access_type=offline&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive&approval_prompt=auto"
2.修改Github專案中對應檔案中的Client_id、Client_secret
*需要登入並Fork到自己帳戶才能修改
https://github.com/Eggsmemory/goindex-traditional-chinese-version/blob/master/go2index/index.js
利用團隊硬碟(Team Drive)大空間作為圖床
*此方案有風險,請做好圖片備份
選擇其中一個網址新增團隊硬碟到你的帳戶即可擁8EB大空間
https://teamdrive.xcpx.workers.dev/
https://gd.404edu.workers.dev/
https://teamdrive.mfoxx.workers.dev/
在操作時遇到問題嗎?
歡迎留言給我
幫您確認問題解決方法哦
您可以點擊下方圖片贊助我喔
幫助小小部落格繼續經營下去
文章評論
HI,, 想請問一下,, 當我換成自己的Auth_ID時, 就讀取不到了
在進行OAuth申請Client_ID時, 原來選擇"web應用程式",授權畫面就出問題,
後來查到要選"電腦", 之後程式都可以跑, refresh_token也有出現, 但是就是讀取不到Drive裡的資料
不知道哪裡出錯了??
@RobinWillson 您好,應該是Drive Api沒有開完整存取,或是程式本身沒有加入Drive Api,所以無法讀取雲端的檔案,您可以再試試看
讚喔,, 感謝你
我按照步驟,結果得到一個網址:
https://throbbing-meadow-0894.userofm2.workers.dev/
這樣算成功了嗎?
如果失敗了,就算了,有點難懂
如果成功了,要如何上傳圖片呢?
@jimmy 上傳圖片到您的雲端硬碟指定的資料夾(詳情可見文章4.4部分)
上傳完之後點擊您得到的網址
看有沒有出現圖片即可
有出現就表示成功了
如果有問題可以再詢問