自建API解決Onedrive Rclone傳輸中的降速、斷流等擁擠問題

自建API解決Onedrive Rclone傳輸中的降速、斷流等擁擠問題

問題描述

在上一篇博客中介紹了win10下使用Rclone將OneDrive映射到本地磁盤教程(開機自動掛載)
看效果圖
在這裏插入圖片描述
在實際使用中發現,向該onedrive磁盤上傳和下載文件時經常遇到降速、斷流的問題,導致傳輸過程要重複幾遍纔可能成功。

產生上述現象的主要原因是在配置rclone時,使用的是默認API連接onedrive,大家同時用公用API來進行傳輸,導致上傳和下載的擁擠問題,傳輸過程比較不穩定。

Microsoft App Client Id
Leave blank normally.
Enter a string value. Press Enter for the default ("").
client_id>  (步驟5. 按enter鍵跳過)
Microsoft App Client Secret
Leave blank normally.
Enter a string value. Press Enter for the default ("").
client_secret>  (步驟6. 按enter鍵跳過)

自建API

使用自建API連接onedrive來替代公用API,可以有效解決降速、斷流等擁擠問題。

首先進入Microsoft Azure官網,進行API註冊。
在這裏插入圖片描述
進入網站後點擊“應用註冊”(上圖中紅框圈出)。
然後點擊“新註冊”,進入註冊應用程序界面
在這裏插入圖片描述
在註冊應用程序界面

  1. 輸入API的名稱(可隨便取一個)
  2. 選擇支持賬戶類型(選第三個)
  3. 重定向URL,輸入http://localhost
  4. 點擊“註冊按鈕”,生成該API

在這裏插入圖片描述下圖中的應用程序(客戶端)ID,即爲client_id,將其記下來
在這裏插入圖片描述點擊“證書和密碼”,然後再點擊“新客戶端密碼”
在這裏插入圖片描述再按下圖進行設置,點擊“添加”後就可以得到該新建客戶端的密碼。
在這裏插入圖片描述該密碼(下圖中紅框圈出的)即爲client_secret,將其記下來

在這裏插入圖片描述爲該API添加所需權限。點擊“API權限”->“添加權限”->“Microsoft Graph”。
在這裏插入圖片描述
點擊“委託的權限”,爲API添加Files.Read、Files.Read.All、Files.ReadWrite、Files.ReadWrite.All、offline_access這幾個權限。
在這裏插入圖片描述添加好權限之後,點擊“代表****授予管理員同意”,便可以完成授權
在這裏插入圖片描述
得到client_id和client_secret後,接下來對rclone conf進行修改,將API替換爲自建的API。

修改Rclone配置

打開windows powershell,按鍵盤上的win+x,然後按a鍵,即可調出windows powershell
按下面的輸入對應的代碼,可編輯client_id和client_secret

Windows PowerShell
版權所有 (C) Microsoft Corporation。保留所有權利。

嘗試新的跨平臺 PowerShell https://aka.ms/pscore6

PS C:\Windows\system32> rclone config  #輸入rclone config
Current remotes:

Name                 Type
====                 ====
onedrive             onedrive

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> e  #輸入e
Choose a number from below, or type in an existing value
 1 > onedrive
remote> 1  #選擇之前配置好的onedrive
--------------------
省略......

Edit remote
** See help for onedrive backend at: https://rclone.org/onedrive/ **

Value "client_id" = "隱私信息*******"
Edit? (y/n)>
y) Yes
n) No (default)
y/n>y  #輸入y
接下來輸入之前保存的client_id

Value "client_secret" = "S/u3rd2J_JVc-A1.y4]3?w4B_Bc-tFT["
Edit? (y/n)>
y) Yes
n) No (default)
y/n>y  #輸入y
接下來輸入之前保存的client_secret

然後會跳出Microsoft Onedrive賬號登錄和API授權界面,輸入賬號和密碼登錄即可,授權界面點擊“是”。

之後的設置與我的上一篇博客相同,參見win10下使用Rclone將OneDrive映射到本地磁盤教程(開機自動掛載)

至此,API替換工作完成,可愉快的使用Onedrive磁盤傳輸文件啦~

速度飛起
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章