自建API解决Onedrive Rclone传输中的降速、断流等拥挤问题
- 问题描述
- 自建API
- 修改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注册。
进入网站后点击“应用注册”(上图中红框圈出)。
然后点击“新注册”,进入注册应用程序界面
在注册应用程序界面
- 输入API的名称(可随便取一个)
- 选择支持账户类型(选第三个)
- 重定向URL,输入
http://localhost
- 点击“注册按钮”,生成该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磁盘传输文件啦~
速度飞起