สร้างส่วนเสริมในการเริ่มต้นใช้งานภาษาโค้ดด่วน

สร้างส่วนเสริม Google Workspace ในฟังก์ชันระบบคลาวด์โดยไม่ต้องใช้ Apps Script

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

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

สิ่งที่ต้องดำเนินการก่อน

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

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

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

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

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

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

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

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

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

  5. หากเลือกภายนอกสําหรับประเภทผู้ใช้ ให้เพิ่มผู้ใช้ทดสอบ ดังนี้
    1. ในส่วนทดสอบผู้ใช้ ให้คลิกเพิ่มผู้ใช้
    2. ป้อนอีเมลและผู้ใช้ทดสอบคนอื่นๆ ที่ได้รับอนุญาต จากนั้นคลิกบันทึกและดําเนินการต่อ
  6. ดูสรุปการลงทะเบียนแอป หากต้องการทําการเปลี่ยนแปลง ให้คลิกแก้ไข หากการลงทะเบียนแอปถูกต้องแล้ว ให้คลิกกลับไปที่หน้าแดชบอร์ด

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

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

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

    /**
     * Google 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
    

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

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

  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 ของฟังก์ชันที่ทําให้ใช้งานได้:

    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 Console ได้ในหน้าแดชบอร์ด