สร้างคู่มือเริ่มใช้งานส่วนเสริมของ Google Workspace อย่างรวดเร็ว

สร้างส่วนเสริม Google Workspace ใน Cloud Functions โดยใช้รันไทม์ Node.js

วัตถุประสงค์

  • ตั้งค่าสภาพแวดล้อมของคุณ
  • สร้างและทำให้ Cloud Function ใช้งานได้
  • สร้างและทำให้ส่วนเสริมใช้งานได้
  • ติดตั้งส่วนเสริม

ข้อกำหนดเบื้องต้น

ตั้งค่าสภาพแวดล้อมของคุณ

เปิดโปรเจ็กต์ที่อยู่ในระบบคลาวด์ในคอนโซล Google Cloud

  1. ในคอนโซล Google Cloud ให้ไปที่หน้าเลือกโปรเจ็กต์

    เลือกโปรเจ็กต์ที่อยู่ในระบบคลาวด์

  2. เลือกโปรเจ็กต์ Google Cloud ที่ต้องการใช้ หรือคลิกสร้างโปรเจ็กต์ แล้วทำตามวิธีการบนหน้าจอ หากสร้างโปรเจ็กต์ Google Cloud คุณอาจต้องเปิดการเรียกเก็บเงินสำหรับโปรเจ็กต์

กำหนดค่าหน้าจอขอความยินยอม OAuth

ส่วนเสริมของ Google Workspace ต้องมีการกําหนดค่าหน้าจอขอความยินยอม การกำหนดค่าหน้าจอขอความยินยอม OAuth ของส่วนเสริมจะกำหนดสิ่งที่ Google แสดงต่อผู้ใช้

  1. ในคอนโซล Google Cloud ให้ไปที่เมนู > API และบริการ > หน้าจอขอความยินยอม OAuth

    ไปที่หน้าจอขอความยินยอม OAuth

  2. สำหรับประเภทผู้ใช้ ให้เลือกภายใน แล้วคลิกสร้าง
  3. กรอกแบบฟอร์มการลงทะเบียนแอปให้เสร็จสมบูรณ์ แล้วคลิกบันทึกและดำเนินการต่อ
  4. สำหรับตอนนี้ คุณอาจข้ามการเพิ่มขอบเขต แล้วคลิกบันทึกและต่อไป ในอนาคต เมื่อสร้างแอปเพื่อใช้นอกองค์กร Google Workspace คุณจะต้องเปลี่ยนประเภทผู้ใช้เป็นภายนอก จากนั้นจึงเพิ่มขอบเขตการให้สิทธิ์ที่แอปต้องการ

  5. ดูสรุปการลงทะเบียนแอป หากต้องการเปลี่ยนแปลง ให้คลิกแก้ไข หากการลงทะเบียนแอปถูกต้องแล้ว ให้คลิกกลับไปยังหน้าแดชบอร์ด

สร้างและทำให้ Cloud Function ใช้งานได้

  1. ในเทอร์มินัลภายใน ให้เปิด Cloud Functions, Cloud Build และ API ส่วนเสริมของ Google Workspace ดังนี้

    gcloud services enable cloudfunctions cloudbuild.googleapis.com gsuiteaddons.googleapis.com
    
  2. ในไดเรกทอรีว่าง ให้สร้างไฟล์ function.js ด้วยโค้ดตัวอย่างต่อไปนี้

    /**
     * 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. ทำให้ฟังก์ชันใช้งานได้:

    gcloud functions deploy loadHomePage --runtime nodejs12 --trigger-http
    

    หากได้รับข้อความแจ้ง ให้ระบุว่าคุณไม่อนุญาตการเรียกใช้ฟังก์ชันที่ไม่ผ่านการตรวจสอบสิทธิ์ ระบบอาจใช้เวลา 2-3 นาทีเพื่อทำให้ฟังก์ชันใช้งานได้

สร้างการทำให้ใช้งานได้ของส่วนเสริม

  1. ค้นหาอีเมลบัญชีบริการสำหรับส่วนเสริมโดยทำดังนี้

    gcloud workspace-add-ons get-authorization
    
  2. มอบบทบาท cloudfunctions.invoker ให้กับบัญชีบริการ

    gcloud functions add-iam-policy-binding loadHomePage \
        --role roles/cloudfunctions.invoker \
        --member serviceAccount:SERVICE_ACCOUNT_EMAIL
    
  3. รับ URL ของฟังก์ชันที่ทำให้ใช้งานได้แล้ว หากต้องการหา URL ให้เรียกใช้คำสั่งต่อไปนี้และมองหาช่อง url ในส่วน httpsTrigger

    gcloud functions describe loadHomePage
    
  4. สร้างไฟล์ deployment.json พร้อมโค้ดตัวอย่างต่อไปนี้ โปรดแทนที่ URL ด้วย URL ของฟังก์ชันที่ทำให้ใช้งานได้แล้วจากขั้นตอนก่อนหน้า

    {
      "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. สร้างการทำให้ใช้งานได้ด้วยคำสั่งต่อไปนี้

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

ติดตั้งส่วนเสริม

  1. ติดตั้งการทำให้ใช้งานได้ในโหมดการพัฒนา:

    gcloud workspace-add-ons deployments install quickstart
    
  2. เปิดหรือโหลด Gmail ซ้ำเพื่อดูส่วนเสริม มองหาไอคอนบีกเกอร์ในแถบเครื่องมือด้านขวา

  3. คลิกไอคอนเพื่อเปิดส่วนเสริม ให้สิทธิ์ส่วนเสริมหากได้รับข้อความแจ้ง

ไม่บังคับ: ล้างข้อมูล

เพื่อหลีกเลี่ยงไม่ให้เกิดการเรียกเก็บเงินในบัญชี ให้ลบทรัพยากรที่คุณสร้างขึ้นดังนี้

  1. ถอนการติดตั้งส่วนเสริมจากบัญชี Google โดยทำดังนี้

    gcloud workspace-add-ons deployments uninstall quickstart
    
  2. หากไม่ต้องการให้เกิดการเรียกเก็บเงินสำหรับทรัพยากรที่ใช้ในการเริ่มต้นอย่างรวดเร็วนี้ ให้ลบโปรเจ็กต์ที่อยู่ในระบบคลาวด์ โดยทำดังนี้

    gcloud projects delete PROJECT_ID
    

    แทนที่ PROJECT_ID ด้วยรหัสของโปรเจ็กต์ระบบคลาวด์ที่คุณใช้สำหรับการเริ่มต้นอย่างรวดเร็ว คุณค้นหารหัสโปรเจ็กต์ Cloud ได้ในคอนโซล Google Cloud ในหน้าแดชบอร์ด

ขั้นตอนถัดไป

หากต้องการเพิ่มฟังก์ชันการทำงานให้กับส่วนเสริม Google Workspace ให้ดูคำแนะนำต่อไปนี้