申请google drive api并使用rclone挂载团队盘为本地磁盘

谷歌云盘的团队盘空间比较大,将其挂载在本地作为临时存储器或用于缓存都比较方便,本文使用Rclone将其挂载在linux服务器。

Rclone内置访问google drive的api,但是共用人数过多可能会被限速导致无法访问,所以考虑申请自己的api。

目录

1 申请google drive api

2 服务器上挂载google drive

3 可能出现的问题

3.1 授权时禁止访问

3.2 Fatal error: failed to get token: Post "https://oauth2.googleapis.com/token"


1 申请google drive api

首先前往google cloud控制台,创建一个项目。

创建一个新项目
创建一个新项目
根据需要填入项目名称

 创建完成后选择该项目,并进入api配置界面。

进入api配置页面

 点击“启用API和服务”

点击“启动API和服务”

 随后,我们在API库中搜索“google drive”,或在下方列出的库中选择Google drive

搜索google drive api

 启用api之后,网页会自动跳转到google cloud api控制台,这时候我们依次点击“凭据”-“CREATE CREDENTIALS”-“OAuth 客户端 ID”

创建一个OAuth ID

根据提示,要配置OAuth ID,首先需要配置同意屏幕。

 在配置同意屏幕时,我们选择“外部”,否则这个api只能在同组织内使用。

选择“外部”

 接下来填写带星号的表格即可。这里可能会出现“保存您的应用时出错”的错误,大概率是由于应用名称冲突导致的,可以尝试取一个不常见的应用名称。

填写必要的信息

 在“范围”设置界面,我们无需做任何改动。

在“测试用户”界面,我们可以将自己的谷歌账号添加到测试用户中。

我们创建的应用有“测试”和“发布”这两种状态,在发布状态下,所有人都可以访问该应用,而在测试状态下只有测试用户可以访问该应用,将来我们可以自由选择是否发布应用。

发布应用后可以供所有人使用,否则只能由测试用户使用

 现在我们已经配置好了同意屏幕,继续配置OAuth ID

继续创建OAuth ID

 记录下来ID和密码,或者直接下载json文件,其中包含了ID 和secret

记录下ID和密钥

 至此,我们就申请好了google drive的api,包括一个ID和一个密钥.

 2 服务器上挂载google drive

首先需要在服务器上安装Rclone,在rclone官方文档中查看你系统的安装方式,下面以ubuntu20为例。在命令行依次输入以下命令:

apt update
apt install curl
apt install fuse
curl https://rclone.org/install.sh | sudo bash

 安装成功后,命令行输入rclone config,并输入“n”新建一个云盘,然后给他起个名字。

新建一个remote,并起名

 找到google drive,输入它前面的序号18。注意随着rclone版本的更迭,google drive的序号可能有所变化,请自行确认序号。

找到Google Drive并输入序号

 选择Google Drive后,我们输入刚才获得的api ID和secret

输入ID和密钥

 接下来赋予程序完整的权限

选择Full access

 接下来,service_account_file这项可以留空,高级配置和自动配置都选择No

service_account_file直接回车,advanced 和 auto选择“n”

 随后,我们需要在网页认证应用。但是由于服务器中没有浏览器,我们只能下载windows版本的rclone,在windows上运行程序给出的命令,打开网页进行认证。

我们首先在rclone下载页面下载windows版rclone,并将程序解压到任意路径,然后按win+R组合键运行cmd。

运行cmd

 进入cmd后,利用cd命令进入rclone程序所在的目录下,输入linux系统中给出的命令。

复制红色框中的命令

cd命令进入rclone目录,并把命令粘贴进来运行

 执行命令以后,浏览器会自动弹出google账号登陆的界面,登录自己的google账号。由于我们的应用没有经过google官方认证,所以可能会出现以下提示,这属于正常情况,转至你的应用就好。

出现该提示属于正常情况

 接下来,授权该应用即可

授权应用

 如果授权成功,网页应该会出现Success的提示。

success提示

 接下来,将获取到的token复制下来,粘贴到服务器端的config_token中。

把获取到的token填回服务器

这里我们想要挂载团队盘,所以选择y。如果要挂载你的个人盘,就填n。

填“y”挂载团队盘

 接下来,程序会列出你账号下的所有团队盘,选择要挂载的即可。

选择要挂载的团队盘

 接下来确认一下信息:

确认信息

 此时,我们可以看到一个名为“googledisk”的云盘已经创建好了,按“q”退出程序即可。

已经创建好了云盘

 接下来,我们需要把刚创建好的云盘挂载到系统上。

挂载网盘的命令为:

rclone mount 网盘名:网盘下的目录 即将挂载到的目录 --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000

网盘名:我们刚刚在rclone创建的那个网盘名,也就是googledisk

网盘下的目录:谷歌网盘下的目录

即将挂载到的目录:服务器系统里的路径

以我自己为例:

 执行完命令以后,如果没有其他错误的话,程序会卡在这里。我们不要结束命令,而是直接断开终端,让其继续运行,打开一个新的终端来进行后续操作。

使用df -h命令查看系统磁盘情况,看到云盘已经成功挂载。

成功挂载创建好的网盘

 此时我们就可以正常访问网盘内的文件了!

正常访问网盘文件

 以上是挂载谷歌云盘的方法,其它云盘的挂载方法都是类似的。

3 可能出现的问题

3.1 授权时禁止访问

可能是由于账号没有应用的访问权限而引起的,可以检查一下应用是否发布。如果应用处于测试状态,可以把自己的账号添加到测试用户中。

3.2 Fatal error: failed to get token: Post "https://oauth2.googleapis.com/token"

具体报错如图,程序虽然在网页显示Success,但是rclone并不能获取到token。

rclone获取不到token

报错:A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

如果出现这样的错误,证明cmd与谷歌的网络不连通,此时应该在cmd中设置合适的代理。具体操作可以参考:设置Windows系统的cmd命令行终端的代理

猜你喜欢

转载自blog.csdn.net/diqiudq/article/details/126070602