最近入手了 GSuite Business,之前梦寐以求的各种功能终于是可以用了,最亮眼的就是无限空间的 Google Drive。之前一直为团队盘的安全性和可持续性所困,自己全局之后这些问题自然也就解决了。于是就可以快乐 GDrive 了(
工具
这篇文章中用到的工具有:
AutoRclone:https://github.com/xyou365/AutoRclone
安装过程直接 git clone 就可以了。
Service Account?
标题提到了 Service Account,那这个 Service Account 究竟是干什么的呢?
Service Account(以下简称 SA),在目前的使用案例中,是用来规避 Google Drive 上传限额的帐号。由于每个帐号的上传限额是 750GB/天,因此大量 SA 就可以一次性传输大量的数据。
对于普通用户而言,一天 750G 其实完全够用,但一旦转存大量文件,比如以 T 计的分享,750GB 就完全不够了。这也是 SA 存在的意义。
Google APIs
所有工具的使用都离不开 Google API,因此第一步就是配置 API。
(1/4)新 Project、Drive API
这一步的内容是创建项目,开启 Drive API,并生成一个凭据。看似内容很多,不过好在 Google 给我们提供了非常方便的 QuickStart,只要管点点点就行了。通过下面的链接:
https://developers.google.com/drive/api/v3/quickstart/python
在 Step 1: Turn on the Drive API 那里直接 Enable the Drive API 就可以了。

起好名之后点击 Next,这里可能需要等待比较长的时间。待加载结束(其实是 API 调用结束)之后,直接使用默认设置,点击 Create 即可。

又是等待。在此之后,我们就可以得到后续配置所需的 Client ID 和 Client Secret 了。因为后续也会用到,因此我们也要下载这里的 Configuration。

到这里,我们就已经可以通过 Google APIs Console 来查看我们的项目(Project)了。链接如下:
https://console.developers.google.com/apis/

(2/4)OAuth 同意屏幕(可选)
这一步修改的内容是 OAuth 同意屏幕OAuth 同意屏幕:

然后点击 「修改应用」:

在这里我们需要修改的内容有「应用类型」、「应用名称」。由于我们是 GSuite,因此应用类型选择内部即可;应用名称因为上面我们用了 Quick Start 所以默认是 Quickstart,修改一下即可。
最后,滚动页面到底部,点击保存即可。
(3/4)启用 Service Usage API
Service Usage API 的作用是帮助我们了解帐号使用情况等信息。在这里顺带简单介绍一下新 API 的启用方法。
首先,来到信息中心,点击右边的「启用 API 和服务」:

然后,在跳转后页面的搜索框里搜索 Service Usage API:

不需要回车,然后点击搜索到的目标:

点击启用即可。稍等片刻,对应的 API 就会显示在信息中心底部了:

(4/4)启用 Admin SDK
Admin SDK 是 GSuite 相关的 SDK,在本文中的用途是向群组中添加成员,以方便 SA 的管理。启用方法和上面描述的基本一致,这里就不再重复了。
创建群组
对于大量的 SA(通常以百计),一个个手动配置显然是不现实的。不过好在 Google Drive 可以直接增加一组,而实现这个「一组」的就是 GSuite 的群组功能。

这里我们创建一个群组,来把所有之后创建的 SA 归到一起。进入「群组」页后单击「创建群组」,首先是填写一些基本信息:

这里要记下填写的「群组电子邮件」,之后会用到。如果创建完之后在设置里修改这一项的话,之后的创建可能会出问题,因此请尽量想好再下一步。
然后是控制权限,这里我选择的是「团队」:

最后点击「创建群组」即可。
AutoRclone
AutoRclone 可以帮助我们快速创建 SA 并加入群组,我们依次来看。
进入 AutoRclone 目录,首先我们需要安装依赖:
cd AutoRclonepip install -r requirements.txt然后,我们需要生成 SA。在此之前,我们需要把之前下载得到的 credentials.json 放到 AutoRclone 目录下。然后,执行下面的脚本就可以了:
python gen_sa_accounts.py --quick-setup -1等待执行完成,我们就可以得到大量的 SA 账户了。执行的过程中需要一次 OAuth 验证,只要登录 Google 帐号点点点就可以了。
之后就是将 SA 批量加入群组。我们将 credentials.json 复制到 credentials 目录下,然后执行:
python add_to_google_group.py -g testdrive@mmf.moe注意这里的 testdrive@mmf.moe 是上面群组的邮箱。至此,SA 的配置就全部完成了。
结语
SA 配置完之后能做的事情就多了,比如使用 gd-utils、gclone 之类的工具,基本不需要限额导致的失败问题了。
无限空间真的太香了,之后得把硬盘里那些有的没的都丢上去(笑)