Lý do dùng qua tài khoản Service Account vì nó có khoảng 12,000 kết nối API mỗi phút, sẽ hạn chế vấn đề giới hạn API hơn so với dùng OAuth2 thông qua trình duyệt web ở tài khoản thông thường, cụ thể ưu điểm như sau
- Hoạt động như một tài khoản riêng biệt
- Có quota API riêng
- Không cần xác thực qua trình duyệt
- Thích hợp cho ứng dụng tự động/server
- Có thể tạo nhiều service accounts để tăng quota
Nói chung bạn nào dùng Rclone trên Google Drive thì dùng tài khoản Service Account cho khỏe, upload nhiều đỡ gặp vấn đề lỗi do không đủ API
Cấu hình trong bài là tạo Service Account cho Google Drive dùng trên Rclone
Các bước chính là tạo 1 tài khoản Google mới (hoặc tài khoản phụ) dùng nó để tạo Service Account, sau đó kết nối tới 1 thư mục bất kì (share) từ Google Drive ở tài khoản chính
Bước 1: login vào tài khoản phụ, cấu hình như bên dưới, có thể tạo tab private mới cho khỏi nhầm (Ctrl + Shift + N)
- Tạo Project mới tại đây
Đặt tên project và chọn Create
- Bật Google Drive API theo link này
Vào APIs & Services > Credentials
- Click Create Credentials > Service Account
- Điền thông tin Service account details
- Service account name: đặt tên tùy ý
- Click Create
- Click vào Credentials vừa tạo
- Tab KEYS > Add Key > Create new key
- Chọn JSON
- Tải file JSON về máy
Cấu trúc file JSON sẽ có định dạng data-infinity-442422-e5-611e0babf6a7.json
- Ở ngoài tab chính, vào lại Credentials, sẽ thấy phần
Bước 2: login vào tài khoản chính
- Trên Google Drive, tạo 1 thư mục mới (
_Google-Driver-API
) để tài khoản phụ upload vào đây - Phải chuột, chọn share với email Service Account từ tài khoản phụ
Tiếp theo là lấy ID của thư mục này
- Khi click vào thư mục
_Google-Driver-API
, sẽ thấy đường dẫn dạnghttps://drive.google.com/drive/folders/1ZR9S5_UptvhBFQL0KX253rIQzf_1qy_y
1ZR9S5_UptvhBFQL0KX253rIQzf_1qy_y
là ID của thư mục
Bước 3: Lúc này chúng ta đã có file Credentials JSON từ tài khoản phụ và thông tin ID thư mục cần upload từ tài khoản chính, sử dụng nó để tạo cấu hình rclone
- Upload file
data-infinity-448422-e5-631e0babf6a7.json
lên 1 vị trí nào đó trên VPS, ví dụ/home/backup/config/
Tiếp theo gõ:
nano /root/.config/rclone/rclone.conf
Kéo xuống dưới cùng, copy các dòng bên dưới vào cho nhanh:
[google-drive-api] type = drive scope = drive service_account_file = /home/backup/config/data-infinity-448422-e5-631e0babf6a7.json team_drive = root_folder_id = 1ZR9S5_UptvhBFQL0KX253rIQzf_1qy_y
-
google-drive-api
tên cấu hình, đặt tùy thích -
service_account_file
: đường dẫn đầy đủ tới filedata-infinity-448422-e5-631e0babf6a7.json
-
root_folder_id
ID thư mục lấy ở bước 2
Ctrl+O
-> Enter -> Ctrl+X
để save và exit.
- Kiểm tra xem cấu hình đúng chưa?
echo "Test upload file to Google Drive" | rclone rcat google-drive-api:/test.txt
- Vào thư mục
_Google-Driver-API
, thấy có 1 file mớitest.txt
là mọi bước cấu hình chính xác
Bạn nào lần đầu làm thì hơi lọng ngọng, vì menu của Google họ sửa lại suốt, chằng chịt, nhìn mệt lắm, mình đã copy các link trực tiếp ra cho nhanh 😀 bài này viết 1 phần để sau coi lại, chứ thiệt các bước của nó dễ quên lắm
Chính sách bình luận: Chúng tôi rất trân trọng các bình luận của bạn và cảm ơn thời gian bạn dành để chia sẻ ý tưởng và phản hồi.
Ghi chú: Những bình luận được xác định là spam hoặc chỉ mang tính quảng cáo sẽ bị xóa.
• Để cải thiện trải nghiệm bình luận, chúng tôi khuyến khích bạn tạo một tài khoản Gravatar. Thêm avatar vào tài khoản Gravatar sẽ giúp bình luận của bạn dễ nhận diện hơn đối với các thành viên khác.
• ✂️ Sao chép và 📋 Dán Emoji 💪 giúp bình luận thêm sinh động và thú vị!