一、开启相关API
使用Workspace管理员账号打开 https://console.cloud.google.com 启用API和服务,第一次打开会提示创建项目,按照提示创建就行了。(多刷新几次,时刻注意登录的账号是哪个)
然后选择“API和服务”标签下的“库”搜索并开启以下API(有部分已经默认开启了)
Google Drive API
Identity and Access Management (IAM) API
Service Usage API
Cloud Resource Manager API
IAM Service Account Credentials API
Directory API
配置OAuth同意屏幕并创建客户端,Type选外外部,然后把自己邮箱添加到测试用户。
创建凭据,选 OAuth客户端,应用类型选桌面,名称随意,然后记录下客户端ID和密钥,下载json并重命名为 credentials.json
二、生成SA
Debian、Ubuntu环境下root用户执行以下命令
安装依赖
apt-get -y update && apt install wget curl python3 python3-pip git unzip screen -y
安装AutoRclone
git clone https://github.com/xyou365/AutoRclone && cd AutoRclone && pip3 install -r requirements.txt
然后将之前保存的 credentials.json 文件上传到 /root/AutoRclone 目录
在AutoRclone根目录执行
python3 gen_sa_accounts.py --quick-setup 1 --new-only
然后会返回一个链接,用浏览器打开进行授权,注意别用错账号。
如果出现报错请执行以下命令再重新执行上一步命令
pip3 install 'google-api-python-client==1.7.2'
pip3 install 'google-auth==1.8.0'
pip3 install 'google-auth-httplib2==0.0.3'
pip3 install 'google-auth-oauthlib==0.4.1'
执行 ls /root/AutoRclone/accounts 查看SA是否生成成功(100个json文件)
三、为SA添加团队盘读写权限
打开 https://console.cloud.google.com 依次选择 API和服务-凭据 在服务账号里面可以看到100个SA账号,邮箱全都复制了。
登录Workspace管理控制台 https://admin.google.com 依次选择 目录-群组,创建一个群组,名称随便,群组邮件地址随意。
进入刚创建好的群组,选批量添加成员,下载批量导入csv模版,格式如下:
群组邮箱,SA账号邮箱,SERVICE_ACCOUNT,MEMBER
一行一个,将SA账号批量添加进群组,然后在Google Drive团队盘中将 群组邮箱 添加为投稿者。
四、搭建TG机器人
安装 nodejs 环境以及 pm2 管理器
安装过程可参考
https://blog.lvlv.lv/archives/186
找个域名,添加一条 DNS 记录,指向你准备搭建机器人的服务器 IP
新建网站并配置 SSL,反向代理 http://127.0.0.1:23333
在TG找@BotFather创建一个机器人,记好API
Debian、Ubuntu环境root用户下执行以下代码
克隆项目
git clone https://github.com/iwestlin/gd-utils && cd gd-utils
安装依赖
npm install --unsafe-perm=true --allow-root
将SA授权文件复制到 /root/gd-utils/sa 目录
cp -r /root/AutoRclone/accounts/* /root/gd-utils/sa
在gd-utils根目录下执行以下命令检测SA有效性
./validate-sa.js 团队盘ID
获取refresh_token(以Mac为例)
在你电脑上打开终端 进入rclone根目录
./rclone authorize "drive" "之前保存的客户端ID" "之前保存的客户端秘钥"
在弹出的网页上授权以后回到终端会显示一大堆东西 记录其中的 refresh_token
打开 /root/gd-utils/config.js 并修改以下字段
const DEFAULT_TARGET 填写团队盘ID
client_id 填写客户端ID
client_secret 填写客户端密钥
refresh_token 填写上一步获取的refresh_token
tg_token 填写TG机器人的api
tg_whitelist 写你的TG用户名
进入gd-utils目录执行以下命令检查,如果命令返回了你的Google Drive个人空间的根目录的内容,说明配置成功(如个人空间里没有内容,会显示[],不用在意)
node check.js
启动
pm2 start server.js
浏览器访问
https://你的机器人域名/api/gdurl/count?fid=124pjM5LggSuwI1n40bcD5tQ13wS0M6wg
如果显示gd-utils成功启动则表示成功
设置Webhook
在终端执行以下命令
curl -F "url=https://你的机器人域名/api/gdurl/tgbot" 'https://api.telegram.org/bot你的机器人api/setWebhook'
(假设你的机器人域名是host.domain.com,机器人api是ABCDEFG,那么完整的格式是:curl -F "url=https://host.domain.com/api/gdurl/tgbot" 'https://api.telegram.org/botABCDEFG/setWebhook')
出现 Webhook was set 代表成功
然后给你的机器人发送 /help 查看使用方法
撒花完结