ระดับการเขียนโค้ด: ปานกลาง
ระยะเวลา: 30 นาที
ประเภทโปรเจ็กต์: ส่วนเสริมของ Google Workspace
วัตถุประสงค์
- ทำความเข้าใจว่าโซลูชันทำอะไรได้บ้าง
- ทำความเข้าใจสิ่งที่บริการ Apps Script ทำภายในโซลูชัน
- ตั้งค่าสภาพแวดล้อม
- ตั้งค่าสคริปต์
- เรียกใช้สคริปต์
เกี่ยวกับโซลูชันนี้
การคัดลอกมาโคร Google ชีตจากสเปรดชีตหนึ่งไปยังอีกสเปรดชีตหนึ่งด้วยตนเองอาจ เสียเวลาและเกิดข้อผิดพลาดได้ ส่วนเสริม Google Workspace นี้จะคัดลอกโปรเจ็กต์สคริปต์และแนบไปกับสเปรดชีตที่ผู้ใช้ระบุโดยอัตโนมัติ แม้ว่าโซลูชันนี้จะเน้นที่มาโครของชีต แต่คุณก็ใช้โซลูชันนี้เพื่อคัดลอกและแชร์สคริปต์ที่ผูกกับคอนเทนเนอร์ได้
วิธีการทำงาน
สคริปต์จะคัดลอกโปรเจ็กต์ Apps Script ที่เชื่อมโยงกับสเปรดชีตต้นฉบับ และสร้างโปรเจ็กต์ Apps Script ที่ซ้ำกันซึ่งเชื่อมโยงกับสเปรดชีตที่ผู้ใช้ระบุ
บริการ Apps Script
โซลูชันนี้ใช้บริการต่อไปนี้
- บริการเรียก URL - เชื่อมต่อกับ Apps Script API เพื่อคัดลอกโปรเจ็กต์ต้นฉบับและสร้างสำเนา
- บริการสคริปต์ - ให้สิทธิ์ API ของ Apps Script เพื่อหลีกเลี่ยงข้อความแจ้งการให้สิทธิ์ครั้งที่ 2
- บริการสเปรดชีต - เปิดสเปรดชีตเป้าหมาย เพื่อเพิ่มโปรเจ็กต์ Apps Script ที่คัดลอก
- บริการการ์ด - สร้างอินเทอร์เฟซผู้ใช้ของส่วนเสริม
ข้อกำหนดเบื้องต้น
หากต้องการใช้ตัวอย่างนี้ คุณต้องมีข้อกำหนดเบื้องต้นต่อไปนี้
- บัญชี Google (บัญชี Google Workspace อาจต้อง ได้รับการอนุมัติจากผู้ดูแลระบบ)
เว็บเบราว์เซอร์ที่มีสิทธิ์เข้าถึงอินเทอร์เน็ต
เปิดใช้ Google Apps Script API ในการตั้งค่าแดชบอร์ดของ Apps Script
ตั้งค่าสภาพแวดล้อม
เปิดโปรเจ็กต์ Cloud ใน Google Cloud Console
หากยังไม่ได้เปิด ให้เปิดโปรเจ็กต์ Cloud ที่คุณต้องการใช้ สำหรับตัวอย่างนี้
- ไปที่หน้าเลือกโปรเจ็กต์ใน Google Cloud Console
- เลือกโปรเจ็กต์ Google Cloud ที่ต้องการใช้ หรือคลิกสร้างโปรเจ็กต์ แล้วทำตามวิธีการบนหน้าจอ หากสร้างโปรเจ็กต์ Google Cloud คุณอาจต้องเปิดการเรียกเก็บเงินสำหรับโปรเจ็กต์
เปิดใช้ Google Apps Script API
การเริ่มต้นใช้งานอย่างรวดเร็วนี้ใช้ Google Apps Script API
ก่อนใช้ Google API คุณต้องเปิดใช้ API ในโปรเจ็กต์ Google Cloud คุณเปิด API อย่างน้อย 1 รายการในโปรเจ็กต์ Google Cloud เดียวได้เปิด Google Apps Script API ในโปรเจ็กต์ Cloud
กำหนดค่าหน้าจอขอความยินยอม OAuth
ส่วนเสริมของ Google Workspace ต้องมีการกำหนดค่าหน้าจอขอความยินยอม การกำหนดค่าหน้าจอขอความยินยอม OAuth ของส่วนเสริมจะกำหนดสิ่งที่ Google แสดงต่อผู้ใช้
- ในคอนโซล Google Cloud ให้ไปที่เมนู > Google Auth platform > การสร้างแบรนด์
- หากกำหนดค่า Google Auth platformแล้ว คุณจะกำหนดค่าการตั้งค่าหน้าจอขอความยินยอม OAuth ต่อไปนี้ได้ในการสร้างแบรนด์ กลุ่มเป้าหมาย และการเข้าถึงข้อมูล หากเห็นข้อความที่ระบุว่าGoogle Auth platform ยังไม่ได้กำหนดค่า ให้คลิกเริ่มต้นใช้งาน
- ในส่วนข้อมูลแอป ให้ป้อนชื่อแอปในชื่อแอป
- ในอีเมลสนับสนุนสำหรับผู้ใช้ ให้เลือกอีเมลสนับสนุนที่ผู้ใช้สามารถติดต่อคุณได้หากมีข้อสงสัยเกี่ยวกับการยินยอม
- คลิกถัดไป
- เลือกภายในในส่วนผู้ชม
- คลิกถัดไป
- ในส่วนข้อมูลติดต่อ ให้ป้อนอีเมลที่คุณต้องการรับการแจ้งเตือนเกี่ยวกับการเปลี่ยนแปลงในโปรเจ็กต์
- คลิกถัดไป
- ในส่วนเสร็จสิ้น ให้อ่านนโยบายข้อมูลผู้ใช้ของบริการ Google API และหากยอมรับ ให้เลือกฉันยอมรับนโยบายข้อมูลผู้ใช้ของบริการ Google API
- คลิกต่อไป
- คลิกสร้าง
- ในตอนนี้ คุณข้ามการเพิ่มขอบเขตได้ ในอนาคต เมื่อสร้างแอปเพื่อใช้ภายนอกองค์กร Google Workspace คุณจะต้องเปลี่ยนประเภทผู้ใช้เป็นภายนอก จากนั้น เพิ่มขอบเขตการให้สิทธิ์ที่แอปของคุณต้องการ ดูข้อมูลเพิ่มเติมได้ที่คู่มือกำหนดค่าความยินยอม OAuth ฉบับเต็ม
ตั้งค่าสคริปต์
สร้างโปรเจ็กต์ Apps Script
- คลิกปุ่มต่อไปนี้เพื่อเปิดโปรเจ็กต์ Apps Script แชร์มาโคร
เปิดโปรเจ็กต์ - คลิกภาพรวม
- ในหน้าภาพรวม ให้คลิกทำสำเนา
คัดลอกหมายเลขโปรเจ็กต์ที่อยู่ในระบบคลาวด์
- ใน Google Cloud Console ให้ไปที่เมนู > IAM และผู้ดูแลระบบ > การตั้งค่า
- คัดลอกค่าในช่องหมายเลขโปรเจ็กต์
ตั้งค่าโปรเจ็กต์ Cloud ของโปรเจ็กต์ Apps Script
- ในโปรเจ็กต์ Apps Script ที่คัดลอก ให้คลิกการตั้งค่าโปรเจ็กต์
- ในส่วนโปรเจ็กต์ Google Cloud Platform (GCP) ให้คลิกเปลี่ยนโปรเจ็กต์
- ในหมายเลขโปรเจ็กต์ GCP ให้วางหมายเลขโปรเจ็กต์ Google Cloud
- คลิกตั้งค่าโปรเจ็กต์
ติดตั้งการทดสอบการติดตั้งใช้งาน
- ในโปรเจ็กต์ Apps Script ที่คัดลอก ให้คลิกเอดิเตอร์
- เปิดไฟล์
UI.gs
แล้วคลิกเรียกใช้ ให้สิทธิ์ สคริปต์เมื่อได้รับข้อความแจ้ง - คลิกทำให้ใช้งานได้ > ทดสอบการทำให้ใช้งานได้
- คลิกติดตั้ง > เสร็จสิ้น
รับสคริปต์มาโครและข้อมูลสเปรดชีต
- เปิดสเปรดชีตชีตที่มีมาโครและคุณมีสิทธิ์ แก้ไข หากต้องการใช้สเปรดชีตตัวอย่าง ให้ทำสำเนาสเปรดชีตมาโครตัวอย่าง
- คลิกส่วนขยาย > Apps Script
- ในโปรเจ็กต์ Apps Script ให้คลิกการตั้งค่าโปรเจ็กต์
- คลิกคัดลอกใต้รหัสสคริปต์
- เก็บรหัสสคริปต์ไว้เพื่อใช้ในขั้นตอนถัดไป
- เปิดหรือสร้างสเปรดชีตใหม่ที่คุณต้องการเพิ่มมาโคร คุณต้อง มีสิทธิ์แก้ไขสเปรดชีต
- คัดลอก URL ของสเปรดชีตและเก็บไว้เพื่อใช้ในขั้นตอนถัดไป
เรียกใช้สคริปต์
ตรวจสอบว่าได้เปิดใช้ Google Apps Script API ในการตั้งค่าแดชบอร์ดแล้ว ทำตามขั้นตอนในส่วนต่อไปนี้เพื่อเรียกใช้สคริปต์
คัดลอกมาโคร
- ในชีต ให้เปิดส่วนเสริม Share Macro ในแถบด้านข้างทางด้านขวา
- วางรหัสสคริปต์ในส่วนมาโครแหล่งที่มา
- วาง URL ของสเปรดชีตในส่วนสเปรดชีตเป้าหมาย
- คลิกมาโครการแชร์
- คลิกให้สิทธิ์เข้าถึงและให้สิทธิ์ส่วนเสริม
- ทำขั้นตอนที่ 2-4 ซ้ำ
เปิดมาโครที่คัดลอก
- เปิดสเปรดชีตที่คุณคัดลอกมาโครไปวางหากยังไม่ได้เปิด
- คลิกส่วนขยาย > Apps Script
- หากไม่เห็นโปรเจ็กต์ Apps Script ที่คัดลอกไว้ ให้ตรวจสอบว่าได้เปิดใช้ Google Apps Script API ในการตั้งค่า แดชบอร์ดแล้ว และทำตามขั้นตอนที่ระบุไว้ในส่วนคัดลอกมาโครอีกครั้ง
ตรวจสอบโค้ด
หากต้องการตรวจสอบโค้ด Apps Script สำหรับโซลูชันนี้ ให้คลิกดูซอร์สโค้ดด้านล่าง
ดูซอร์สโค้ด
Code.gs
UI.gs
appsscript.json
ผู้ร่วมให้ข้อมูล
ตัวอย่างนี้ได้รับการดูแลโดย Google โดยได้รับความช่วยเหลือจาก Google Developer Expert