Hướng dẫn bắt đầu nhanh để tạo Tiện ích bổ sung trên Google Workspace

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 Chức năng đá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

Thiết lập môi trường

Mở dự án Cloud trong bảng điều khiển Google Cloud

  1. Trong bảng điều khiển Google Cloud, hãy chuyển đến trang Chọn dự án.

    Chọn một dự án trên Google Cloud

  2. Chọn dự án Google Cloud mà bạn muốn sử dụng. Bạn cũng có thể nhấp vào Create project (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ể 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

Tiện ích bổ sung của Google Workspace yêu cầu bạn phải định cấu hình màn hình xin phép. Việc định cấu hình màn hình xin phép OAuth của tiện ích bổ sung sẽ xác định nội dung mà Google hiển thị với người dùng.

  1. 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 xin phép bằng OAuth.

    Chuyển đến màn hình xin phép bằng OAuth

  2. Chọn loại người dùng cho ứng dụng của bạn, sau đó nhấp vào Tạo.
  3. 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.
  4. 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 ứng dụng để dùng bên ngoài tổ chức Google Workspace của bạn, bạn phải thêm và xác minh phạm vi uỷ quyền mà ứng dụng của bạn yêu cầu.

  5. Nếu bạn đã chọn Bên ngoài cho loại người dùng, hãy thêm người dùng thử nghiệm:
    1. Trong phần Người dùng thử nghiệm, hãy nhấp vào Thêm người dùng.
    2. Nhập địa chỉ email của bạn và bất kỳ người dùng thử nghiệm được ủy quyền nào khác, sau đó nhấp vào Lưu và tiếp tục.
  6. Xem lại thông tin tóm tắt về quá trình đăng ký ứng dụng của bạn. Để thực hiện thay đổi, hãy nhấp vào Chỉnh sửa. Nếu bạn đã đăng ký xong ứng dụng, hãy nhấp vào Quay lại Trang tổng quan.

Tạo và triển khai Chức năng đám mây

  1. 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
    
  2. Trong thư mục trống, hãy tạo tệp function.js bằng mã mẫu sau:

    /**
     * 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"
                         }
                      }
                    ]
                  }
                ]
              }
            }
          ]
        }
      };
    }
    
  3. 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 để hàm này triển khai.

Tạo quá trình triển khai tiện ích bổ sung

  1. Tìm email tài khoản dịch vụ của tiện ích bổ sung:

    gcloud workspace-add-ons get-authorization
    
  2. 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
    
  3. 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ần httpsTrigger:

    gcloud functions describe loadHomePage
    
  4. 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 ở 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": {}
      }
    }
    
  5. Tạo quá trình triển khai:

    gcloud workspace-add-ons deployments create quickstart \
        --deployment-file=deployment.json
    

Cài đặt tiện ích bổ sung

  1. Cài đặt phiên bản triển khai ở chế độ nhà phát triển:

    gcloud workspace-add-ons deployments install quickstart
    
  2. Hãy 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.

  3. 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á các tài nguyên mà bạn đã tạo:

  1. Gỡ cài đặt tiện ích bổ sung khỏi Tài khoản Google của bạn:

    gcloud workspace-add-ons deployments uninstall quickstart
    
  2. Để tránh phát sinh phí cho các tài nguyên được sử dụng trong quá trình bắt đầu nhanh này, hãy xoá dự án Cloud:

    gcloud projects delete PROJECT_ID
    

    Thay thế PROJECT_ID bằng mã của dự án trên Google Cloud 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 tại Trang tổng quan.

Các bước tiếp theo

Để thêm nhiều chức năng hơn vào Tiện ích bổ sung của Google Workspace, hãy tham khảo các hướng dẫn sau: