本文重写了申请onedrive api并使用rclone将其挂载为本地磁盘这篇文章的第二部分,因为rclone新版本会对网页获取到的token进行编码,导致token长度超出ssh的最大长度。这篇文章的第一部分(获取api)仍然有效,现将第二部分重写如下:
2 挂载onedrive网盘
以下步骤在具有浏览器的pc上进行(下面以windows为例)。
我们在官网下载页面下载windows系统下的rclone并解压,按win+R调出运行,输入“cmd”。
进入解压后的目录下,输入“rclone config”开始配置。
输入“n”新建一个云盘,并输入名称。这个名称就是挂载后磁盘的名称,我起的是“test”。
接下来,找到onedrive这一项,并输入前面的序号。随着rclone版本的更新,每一种网盘序号的顺序可能会改变,注意仔细辨别。
接下来,输入前面保存的客户端ID、密码以及网盘类型。此处注意区分你的网盘是什么类型,国内大多高校邮箱都是国际版(1),部分高校是世纪互联版(4)。
接下来不进行高级配置(n),自动弹出浏览器页面(y)。
此时,浏览器应该会自动弹出认证界面,我们登录云盘的微软账号即可。成功登录后,浏览器页面会返回“Success!”提示。
接下来看情况选择连接类型,如果是个人云盘或是business盘,选1就可以。
接下来,程序会检测到你的云盘,选择即可。
确认信息是否正确。
再次确认是否正确
目前为止,pc端的配置已经结束。退出rclone后,在命令行输入以下命令查找配置文件位置。
rclone config file
编辑该文件,我们可以看到刚刚创建的配置
接下来,我们把这些配置一字不落地复制到剪贴板,pc端的任务就结束了。
来到linux服务器,输入同样的命令查找配置文件并编辑:
rclone config file
把刚才的配置文件一字不落地粘贴到文件最后面。这里注意配置文件中不能有重名,如果曾经配置失败的话,需要首先把失败的配置删除,再编辑配置文件。
再次查看配置,发现test已经在服务器的remote列表里了。
接下来,在linux终端中输入以下命令挂载网盘。挂载的命令为:
rclone mount 网盘名:网盘下的目录 即将挂载到的目录 --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000 &
以我自己为例:
#创建即将挂载的目录
mkdir -p /home/onedrive
#将名为test(刚才创建的)的网盘的目录(/)挂载在服务器的路径(/home/onedrive)
rclone mount test:/ /home/onedrive --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000 &
终端输入“df -h”命令检查是否挂载成功,可以看到“test”已经被成功挂载了,容量为5TB.
如果想重新挂载,可以通过以下命令取消挂载:
fusermount -u /home/onedrive
谷歌网盘等各种盘的挂载方式大同小异,本质上都是通过api连接网盘,并将网盘挂载到本地目录。