前提
- 你需要一個OneDrive賬號,必須管理員開放API
- 需要已安裝Node.js
- 擁有Github賬號,沒有就注冊一個
- 魔法上網環境(看情況)
注冊應用
登錄https://portal.azure.com/#home
1. 從頁面上找到 管理Azure Active Directory,點擊查看

2. 左側選擇應用注冊,點擊新注冊

3. 輸入應用名稱,受支持的賬戶類型選擇第三項,重定向填 http://localhost,點擊注冊

4. 注冊后會自動跳轉到概覽頁面,復制客戶端ID,用小本本把它記下來

5. 點擊 左側證書和密碼,右邊選擇 新客戶端密碼,填入說明,截至日期最大只能選24個月,點擊添加

6. 將新建的值復制,用小本本記下來

編輯權限
1. 左側選擇API權限,右邊點添加權限
2. 選Microsoft Graph,再選委托的權限

3. 添加offline_access、Files.Read和Files.Read.All權限,原來的User.Read可以選擇刪除

獲得token
1. 打開命令提示符,輸入以下指令(需要安裝Node)
npx @beetcb/ms-graph-cli
世紀互聯就選Operated by 21Vianet in China,不是就選第一項

選OneDrive

會要求你輸入client_id,就是前面用小本本記下的客戶端ID,復制了可以右鍵直接粘貼進去
client_secret就是上面第6步新建的,redirect_url默認http://localhost:3000就可以不用輸入,然后回車

2. 之后瀏覽器會打開一個窗口要求登錄,登錄你的賬號,接受許可,提示Success,回到命令提示符,就能看到refresh_token和access_token,這個窗口先別關或者你把上面的內容保留下來

頁面部署
1. 打開這個頁面onedrive-vercel-index https://github.com/spencerwooo/onedrive-vercel-index
2. Fork倉庫,修改倉庫中config/api.json和site.json文件
將自己的clientId和網頁標題修改好


3. 打開Vercel,登錄Github賬號,登陸后到首頁點擊New Porject,選擇剛剛Fork的倉庫點Import導入


4. 會進入新頁面,Create A Team點Skip跳過
5. 到下面的Configure Project,其他不用管,展開Environment Variables設置環境變量
需要設置這三變量:REFRESH_TOKEN,ACCESS_TOKEN,CLIENT_SECRET,值的內容在前面的步驟中獲取到了,注意是大寫。

6. 點Deploy部署,如果右下角一直提示Connection...就打開魔法上網工具
7. 部署好后點Visit就能看到部署后的網頁

建議把部署后的網址放在Git倉庫的About上
最后效果

自定義域名
1. 登錄Vercel,選擇自己的項目,選擇View Domains

2. Vercel默認會分配一個域名,選擇它點Edit編輯,填入自己的域名再點Save保存

3. 似乎因為GFW的原因會無法訪問,可以嘗試這樣設置域名解析
| 記錄類型 | 值 |
|---|---|
| A | 76.223.126.88 |
