利用rclone实现GoogleDrive链接转存

有的时候因为某些需要,看到网上分享的GoogleDrive网盘中的资源比较好,想保存到自己的网盘中,虽然也有一些方法可以转存,但是总体比较繁琐,最近研究rclone命令行发现可以实现一条命令转存。

首先研究一下rclone.conf的格式

INI
[test]
type = drive
token = {"access_token":"ya29……xuE4","expiry":"2024-01-19T20:46:07.544951778-07:00"}

如果不做太多的配置,默认都是以上这种格式,但如果仔细研究配置规则,发现在配置期间rclone允许指定root_folder_id,最终的格式为:

INI
[test]
type = drive
token = {"access_token":"ya29……xuE4","expiry":"2024-01-19T20:46:07.544951778-07:00"}
root_folder_id = xxxxxxx
一开始以为这个root_folder_id只能使用自己GoogleDrive的文件夹ID,但随着后来的深入研究,发现可以指定任意一个已存在的ID,而不局限于自己网盘中的ID

那么可以测试一下

Batchfile
rclone.exe lsjson test: --drive-root-folder-id=xxxxxx
Note

以上xxx部分替换为你自己的ID

使用以上命令之前需要提前安装好GoogleDrive证书,并提前配置好代理环境

结果意外的发现可以看到这个ID中的文件结构(具体的输出结果就不放了)

那么这样就好办了,如果想要转存链接A(xxxxxx)中的文件,那么可以这样配置

INI
[test]
type = drive
token = {"access_token":"ya29……xuE4","expiry":"2024-01-19T20:46:07.544951778-07:00"}

[test2]
type = drive
token = {"access_token":"ya29……xuE4","expiry":"2024-01-19T20:46:07.544951778-07:00"}
root_folder_id = xxxxxxx

Note

test指向自己的网盘,test2指向待转存的网盘链接

之所以需要这样编写test2配置,猜测可能是rclone是通过Google API去访问这个id中的文件数据

然后运行以下的命令

Batchfile
rclone.exe copy test2: test: -P --drive-server-side-across-configs
补充说明

-P参数会显示传输情况

--drive-server-side-across-configs参数会让rclone在转存的时候不会消耗本地流量

这样运行之后就会发现链接中的文件都被转存过来了

插播一条广告

如果你不想繁琐的配置以实现链接转存,不妨可以使用AutoUploader,1.2.0已经支持链接转存功能,具体请看这里

评论

回到页面顶部