Tạo tiện ích bổ sung cho Google Workspace trong Cloud Functions bằng cách sử dụng thời gian chạy Node.js.
Mục tiêu
- Thiết lập môi trường.
- Tạo và triển khai Hàm đám mây.
- Tạo và triển khai tiện ích bổ sung.
- Cài đặt tiện ích bổ sung.
Điều kiện tiên quyết
- Một dự án trên Google Cloud.
- Hãy nhớ bật tính năng thanh toán cho dự án trên Google Cloud của bạn. Tìm hiểu cách xác minh trạng thái thanh toán cho dự án của bạn.
- Cloud SDK được định cấu hình với dự án trên Google Cloud.
Thiết lập môi trường
Mở dự án Cloud trong bảng điều khiển Google Cloud
- Trong bảng điều khiển Google Cloud, hãy chuyển đến trang Chọn dự án.
- Chọn dự án trên Google Cloud mà bạn muốn sử dụng. Hoặc nhấp vào Tạo dự án rồi làm theo hướng dẫn trên màn hình. Nếu tạo một dự án trên Google Cloud, bạn có thể cần phải bật tính năng thanh toán cho dự án.
Định cấu hình màn hình xin phép bằng OAuth
Cần phải định cấu hình màn hình đồng ý để sử dụng Tiện ích bổ sung của Google Workspace. Việc định cấu hình màn hình xin phép bằng OAuth của tiện ích bổ sung sẽ xác định nội dung mà Google hiển thị cho người dùng.
- Trong bảng điều khiển Google Cloud, hãy chuyển đến Trình đơn > API và dịch vụ > màn hình đồng ý OAuth.
- Đối với Loại người dùng, hãy chọn Nội bộ, rồi nhấp vào Tạo.
- Hoàn tất biểu mẫu đăng ký ứng dụng, sau đó nhấp vào Lưu và tiếp tục.
Hiện tại, bạn có thể bỏ qua bước thêm phạm vi và nhấp vào Lưu và tiếp tục. Sau này, khi tạo một ứng dụng để dùng bên ngoài tổ chức Google Workspace của mình, bạn phải thay đổi Loại người dùng thành Bên ngoài, sau đó thêm phạm vi uỷ quyền mà ứng dụng của bạn yêu cầu.
- Xem lại tóm tắt đăng ký ứng dụng của bạn. Để chỉnh sửa, hãy nhấp vào Chỉnh sửa. Nếu quá trình đăng ký ứng dụng có vẻ ổn, hãy nhấp vào Back to Dashboard (Quay lại Trang tổng quan).
Tạo và triển khai hàm đám mây
Trong thiết bị đầu cuối cục bộ, hãy bật Cloud Functions, Cloud Build và API tiện ích bổ sung của Google Workspace:
gcloud services enable cloudfunctions cloudbuild.googleapis.com gsuiteaddons.googleapis.com
Trong thư mục trống, hãy tạo tệp
function.js
bằng mã mẫu sau đây:/** * Cloud Function that loads the homepage for a * Google Workspace Add-on. * * @param {Object} req Request sent from Google * @param {Object} res Response to send back */ exports.loadHomePage = function addonsHomePage (req, res) { res.send(createAction()); }; /** Creates a card with two widgets. */ function createAction() { return { "action": { "navigations": [ { "pushCard": { "header": { "title": "Cats!" }, "sections": [ { "widgets": [ { "textParagraph": { "text": "Your random cat:" } }, { "image": { "imageUrl": "https://cataas.com/cat" } } ] } ] } } ] } }; }
Triển khai hàm:
gcloud functions deploy loadHomePage --runtime nodejs12 --trigger-http
Nếu được nhắc, hãy chỉ định rằng bạn không cho phép các lệnh gọi chưa được xác thực của hàm. Có thể mất vài phút để triển khai hàm này.
Tạo quá trình triển khai tiện ích bổ sung
Tìm email tài khoản dịch vụ của tiện ích bổ sung:
gcloud workspace-add-ons get-authorization
Cấp vai trò
cloudfunctions.invoker
cho tài khoản dịch vụ:gcloud functions add-iam-policy-binding loadHomePage \ --role roles/cloudfunctions.invoker \ --member serviceAccount:SERVICE_ACCOUNT_EMAIL
Lấy URL của hàm đã triển khai. Để lấy URL, hãy chạy lệnh sau và tìm trường
url
trong phầnhttpsTrigger
:gcloud functions describe loadHomePage
Tạo tệp
deployment.json
bằng mã mẫu sau đây. Thay thếURL
bằng URL của hàm đã triển khai từ bước trước.{ "oauthScopes": ["https://www.googleapis.com/auth/gmail.addons.execute"], "addOns": { "common": { "name": "My HTTP Add-on", "logoUrl": "https://raw.githubusercontent.com/webdog/octicons-png/main/black/beaker.png", "homepageTrigger": { "runFunction": "URL" } }, "gmail": {}, "drive": {}, "calendar": {}, "docs": {}, "sheets": {}, "slides": {} } }
Tạo hoạt động triển khai:
gcloud workspace-add-ons deployments create quickstart \ --deployment-file=deployment.json
Cài đặt tiện ích bổ sung
Cài đặt phương thức triển khai ở chế độ phát triển:
gcloud workspace-add-ons deployments install quickstart
Mở hoặc tải lại Gmail để xem tiện ích bổ sung. Trong thanh công cụ ở bên phải, hãy tìm biểu tượng cốc.
Nhấp vào biểu tượng đó để mở tiện ích bổ sung. Nếu được nhắc, hãy uỷ quyền cho tiện ích bổ sung.
Không bắt buộc: Dọn dẹp
Để tránh làm phát sinh phí cho tài khoản của bạn, hãy xoá những tài nguyên bạn đã tạo:
Gỡ cài đặt tiện ích bổ sung khỏi Tài khoản Google:
gcloud workspace-add-ons deployments uninstall quickstart
Để tránh phát sinh phí cho các tài nguyên được dùng trong quá trình khởi động nhanh này, hãy xoá dự án Google Cloud:
gcloud projects delete PROJECT_ID
Thay thế PROJECT_ID bằng mã của dự án trên đám mây mà bạn đã dùng để bắt đầu nhanh. Bạn có thể tìm thấy mã dự án Cloud trong bảng điều khiển Google Cloud trên Trang tổng quan.
Các bước tiếp theo
Để thêm nhiều chức năng khác vào Tiện ích bổ sung của Google Workspace, hãy tham khảo các hướng dẫn sau:
- Tạo tiện ích bổ sung bằng bất kỳ ngôn ngữ lập trình nào
- Xem trước đường liên kết bằng khối thông minh