申请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控制台,创建一个项目。

申请google drive api并使用rclone挂载团队盘为本地磁盘_第1张图片 创建一个新项目
申请google drive api并使用rclone挂载团队盘为本地磁盘_第2张图片 根据需要填入项目名称

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

申请google drive api并使用rclone挂载团队盘为本地磁盘_第3张图片 进入api配置页面

 点击“启用API和服务”

申请google drive api并使用rclone挂载团队盘为本地磁盘_第4张图片 点击“启动API和服务”

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

申请google drive api并使用rclone挂载团队盘为本地磁盘_第5张图片 搜索google drive api

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

申请google drive api并使用rclone挂载团队盘为本地磁盘_第6张图片 创建一个OAuth ID

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

申请google drive api并使用rclone挂载团队盘为本地磁盘_第7张图片

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

申请google drive api并使用rclone挂载团队盘为本地磁盘_第8张图片 选择“外部”

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

申请google drive api并使用rclone挂载团队盘为本地磁盘_第9张图片 填写必要的信息

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

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

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

申请google drive api并使用rclone挂载团队盘为本地磁盘_第10张图片 发布应用后可以供所有人使用,否则只能由测试用户使用

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

申请google drive api并使用rclone挂载团队盘为本地磁盘_第11张图片 继续创建OAuth ID

申请google drive api并使用rclone挂载团队盘为本地磁盘_第12张图片

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

申请google drive api并使用rclone挂载团队盘为本地磁盘_第13张图片 记录下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”新建一个云盘,然后给他起个名字。

申请google drive api并使用rclone挂载团队盘为本地磁盘_第14张图片 新建一个remote,并起名

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

申请google drive api并使用rclone挂载团队盘为本地磁盘_第15张图片 找到Google Drive并输入序号

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

申请google drive api并使用rclone挂载团队盘为本地磁盘_第16张图片 输入ID和密钥

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

申请google drive api并使用rclone挂载团队盘为本地磁盘_第17张图片 选择Full access

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

申请google drive api并使用rclone挂载团队盘为本地磁盘_第18张图片 service_account_file直接回车,advanced 和 auto选择“n”

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

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

申请google drive api并使用rclone挂载团队盘为本地磁盘_第19张图片 运行cmd

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

申请google drive api并使用rclone挂载团队盘为本地磁盘_第20张图片 复制红色框中的命令

申请google drive api并使用rclone挂载团队盘为本地磁盘_第21张图片 cd命令进入rclone目录,并把命令粘贴进来运行

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

申请google drive api并使用rclone挂载团队盘为本地磁盘_第22张图片 出现该提示属于正常情况

 接下来,授权该应用即可

申请google drive api并使用rclone挂载团队盘为本地磁盘_第23张图片 授权应用

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

申请google drive api并使用rclone挂载团队盘为本地磁盘_第24张图片 success提示

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

申请google drive api并使用rclone挂载团队盘为本地磁盘_第25张图片 把获取到的token填回服务器

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

申请google drive api并使用rclone挂载团队盘为本地磁盘_第26张图片 填“y”挂载团队盘

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

申请google drive api并使用rclone挂载团队盘为本地磁盘_第27张图片 选择要挂载的团队盘

 接下来确认一下信息:

申请google drive api并使用rclone挂载团队盘为本地磁盘_第28张图片 确认信息

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

申请google drive api并使用rclone挂载团队盘为本地磁盘_第29张图片 已经创建好了云盘

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

挂载网盘的命令为:

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

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

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

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

以我自己为例:

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

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

申请google drive api并使用rclone挂载团队盘为本地磁盘_第30张图片 成功挂载创建好的网盘

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

申请google drive api并使用rclone挂载团队盘为本地磁盘_第31张图片 正常访问网盘文件

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

3 可能出现的问题

3.1 授权时禁止访问

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

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

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

申请google drive api并使用rclone挂载团队盘为本地磁盘_第32张图片 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命令行终端的代理。

你可能感兴趣的:(vps,linux,服务器,网络,运维)