自建API解决Onedrive Rclone传输中的降速、断流等拥挤问题

自建API解决Onedrive Rclone传输中的降速、断流等拥挤问题

  • 问题描述
  • 自建API
  • 修改Rclone配置

问题描述

在上一篇博客中介绍了win10下使用Rclone将OneDrive映射到本地磁盘教程(开机自动挂载)
看效果图
20221216071516397
在实际使用中发现,向该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注册。
20221216071516605
进入网站后点击“应用注册”(上图中红框圈出)。
然后点击“新注册”,进入注册应用程序界面
20221216071517346
在注册应用程序界面

  1. 输入API的名称(可随便取一个)
  2. 选择支持账户类型(选第三个)
  3. 重定向URL,输入http://localhost
  4. 点击“注册按钮”,生成该API

20221216071517493下图中的应用程序(客户端)ID,即为client_id,将其记下来
20221216071517142点击“证书和密码”,然后再点击“新客户端密码”
20221216071521100再按下图进行设置,点击“添加”后就可以得到该新建客户端的密码。
20221216071522359该密码(下图中红框圈出的)即为client_secret,将其记下来

20221216071525368为该API添加所需权限。点击“API权限”->“添加权限”->“Microsoft Graph”。
20221216071526972
点击“委托的权限”,为API添加Files.Read、Files.Read.All、Files.ReadWrite、Files.ReadWrite.All、offline_access这几个权限。
20221216071526383添加好权限之后,点击“代表****授予管理员同意”,便可以完成授权
20221216071528359
得到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磁盘传输文件啦~

速度飞起
20221216071529771

© 版权声明
THE END
点赞12赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片