Để làm việc với API của Google thì chúng ta phải tạo Service Account trong Google Cloud Platform và tải về một file JSON chứa thông tin tài khoản. Sau khi tạo tài khoản xong, chúng ta chỉ cần bật API Google Cloud cần thiết để bắt đầu sử dụng Service Account trong các ứng dụng, lập trình Python. Hãy làm theo hướng dẫn trong bài viết này để giúp bạn tiếp cận nhanh nhất.
Service Account là gì?
Service Account là một loại tài khoản đặc biệt thường được dùng để gọi API trong các ứng dụng, lập trình. Tài khoản này được ủy quyền với tư cách là tài khoản chính của người dùng dịch vụ Google. Nó có thể thay bạn làm nhiều việc, nhiều thao tác với các sản phẩm của Google mà bạn đang sử dụng.
| Mật khẩu | Không có, không thể đăng nhập với trình duyệt hoặc cookie. |
| Xác thực | Không dùng mật khẩu, xác thực bằng cặp khóa public/private RSA. |
| Ủy quyền | Có thể ủy quyền như một tài khoản người dùng. |
| Google Workspace | Không được tính khi chia sẻ tài sản trong Google Workspace. |
Tạo Service Account
Bước 1: Bạn cần tạo một Project để chứa một hoặc nhiều Service Account. Hãy truy cập console.cloud.google.com/projectcreate để tạo một Project mới.

Bước 2: Bạn điền thông tin cơ bản để tạo Project. Lưu ý là ID của Project sẽ cố định và không thể đổi sau này. Nếu bạn không có Location nào thì cứ để No organization cũng được.

Bước 3: Sau khi tạo xong một Project, bạn hãy chọn chính xác Project mà bạn muốn sử dụng để tạo Service Account.

Bước 4: Truy cập vào trang quản lý Service Account bằng cách nhấp vào IAM & Admin > Service Accounts.

Bước 5: Nhấp nút Create Service Account để tạo một tài khoản.

Bước 6: Điền thông tin để tạo Service Account. Lưu ý bạn nên đặt Service account ID ngắn gọn và đẹp, vì nó sẽ tạo ra một địa chỉ email mà bạn có thể sử dụng nhiều sau này. Ở phần cấp vai trò (role), bạn nên bỏ qua và đừng cấp quyền Owner. Để đọc ghi Google Sheets hay Google Drive, Service Account không cần vai trò nào trong dự án, chỉ cần được chia sẻ đúng file là đủ. Đây là nguyên tắc quyền tối thiểu (least privilege): lỡ file key JSON bị lộ thì kẻ gian cũng chỉ đụng được những file bạn đã chia sẻ, chứ không điều khiển được cả dự án Google Cloud.

Bước 7: Truy cập vào Manage keys cho Service Account của bạn bằng cách nhấp vào nút tùy chọn. Đây chính là bước để tạo ra một file JSON chứa thông tin tài khoản.

Bước 8: Nhấp vào Add Key và chọn Create new key để tạo private key.

Bước 9: Chọn JSON và nhấp Create để tạo một file JSON cho Service Account của bạn.

Bước 10: File JSON sẽ được tải xuống máy tính của bạn ngay lập tức. Hãy nhấp nút Close để hoàn tất.

Và đây là nội dung ví dụ trong file JSON chứa thông tin truy cập vào tài khoản Service Account của bạn. Hãy giữ kín file này như mật khẩu: không gửi qua chat, không commit lên GitHub hay để trong thư mục công khai. Nếu nghi bị lộ, bạn hãy xóa key đó và tạo key mới. Nếu bạn sử dụng Python thì bạn có thể tạo một biến dictionary với nội dung y chang trong file JSON này để làm việc với API của Google.

Bật API Google Cloud
Sau khi đã tạo xong Service Account, bạn cần bật các API cần thiết để nó có thể hoạt động với các lệnh gọi API của bạn.
Bước 1: Truy cập vào thư viện API của Google Cloud bằng cách nhấp vào APIs & Services > Library.

Bước 2: Tìm kiếm các API mà bạn muốn sử dụng. Chức năng của từng API đã được ghi rõ ở bên dưới phần mô tả. Hiếu sẽ cho bạn ví dụ một vài API phổ biến như bên dưới.
- Google Drive API: sẽ giúp bạn tạo file, quản lý chia sẻ file, tìm kiếm file và thư mục.
- Google Sheets API: Sẽ giúp bạn chỉnh nội dung, lấy nội dung của các worksheet.

Bước 3: Bật API mà bạn đã chọn.

Bước 4: Xem trang tổng quan về data mà bạn đã sử dụng với API. Bạn có thể tắt một API bằng cách nhấp vào nút Disable API.

Cuối cùng, tùy trường hợp sử dụng API mà bạn có thể phải chia sẻ quyền chỉnh sửa cho Service Account này. Ví dụ như đối với Google Drive hay Google Sheet. Email của Service Account này chính là client_email trong file JSON trên máy tính của bạn. Bạn chỉ nên chia sẻ đúng file hoặc thư mục cần dùng, với quyền Editor nếu cần ghi dữ liệu, hoặc Viewer nếu chỉ cần đọc.

Câu hỏi thường gặp
Vì sao đã bật API nhưng vẫn bị lỗi khi gọi API?
Một số API yêu cầu bạn phải chia sẻ quyền chỉnh sửa cho client email để hoạt động được. Kiểm tra bạn đã chia sẻ quyền cho client email của Service Account chưa.
Tôi bị mất file JSON của Service Account thì phải làm sao?
Bạn không thể yêu cầu cấp lại file JSON chứa Private key của Service Account đã tạo. Nhưng bạn có thể xóa key cũ đi và tạo một key mới.
Lời kết
Hiếu hy vọng bài viết này giúp bạn tạo tài khoản dịch vụ Google nhanh gọn. Mình cũng đang trong quá trình tìm hiểu và làm việc với Google Cloud, mong rằng sau này sẽ có nhiều trải nghiệm để chia sẻ với các bạn. Hãy để lại lời nhắn bên dưới phần bình luận để đặt câu hỏi hoặc giao lưu với mình nhé.






có thể chỉ cách gọi api luôn ko ạ
Chào Annie, Google hỗ trợ nhiều API lắm, em đang quan tâm API nào? Anh có một bài hướng dẫn sử dụng API Google Sheets bằng gspread sau khi có Service Account nè.