Apps Script มีฟีเจอร์บางอย่างที่ช่วยให้คุณและนักพัฒนาซอฟต์แวร์คนอื่นๆ สร้างและดูแลรักษาสคริปต์ ส่วนเสริม และเว็บแอปร่วมกันได้
ข้อมูลเบื้องต้นเกี่ยวกับการทํางานร่วมกัน
หากต้องการทํางานร่วมกันในโปรเจ็กต์ คุณและผู้ทํางานร่วมกันจะต้องมีสิทธิ์ในการแก้ไขไฟล์โปรเจ็กต์ Apps Script (และคอนเทนเนอร์ หากเป็นสคริปต์ที่เชื่อมโยง) ซึ่งจะทําให้ทุกคนในทีมมองเห็น และแก้ไขโค้ดของ Apps Script ได้ ตัวแก้ไขยังสามารถสร้างโค้ดเวอร์ชันใหม่ เผยแพร่ส่วนเสริม และทําให้สคริปต์ใช้งานได้เป็นเว็บแอปหรือเป็นไฟล์ดําเนินการสําหรับ Apps Script API
คุณสามารถช่วยทีมได้ด้วยการวางแผนล่วงหน้าว่าคุณจะจัดการกับการแก้ไข การตรวจสอบ การกําหนดเวอร์ชัน และ (หากมี) การทําให้ใช้งานได้และการเผยแพร่โครงการ ส่วนเสริม หรือเว็บแอปอย่างไร โครงการแบบสแตนด์อโลนมักจะทํางานร่วมกันได้ง่ายที่สุด เนื่องจากจะปรากฏใน Google ไดรฟ์โดยตรงและเป็นประเภทโครงการที่แนะนําสําหรับการพัฒนาแอปและเว็บแอป
ปัญหาที่พบบ่อยในการทํางานร่วมกันจะเกิดขึ้นเมื่อเจ้าของโครงการสคริปต์ออกจากทีมโดยไม่โอนความเป็นเจ้าของโครงการให้กับคนอื่นในทีมงาน ซึ่งทําให้คุณไม่สามารถดูแลหรืออัปเดตโปรเจ็กต์ได้ การวางโครงการสคริปต์ในไดรฟ์ที่แชร์จะช่วยป้องกันปัญหานี้ เนื่องจากไฟล์ในไดรฟ์ที่แชร์จะไม่มีเจ้าของคนใดโดยเฉพาะ
การทํางานร่วมกับเครื่องมือบรรทัดคําสั่ง clasp
clasp
ช่วยให้คุณซิงค์โปรเจ็กต์ระหว่าง script.google.com กับระบบไฟล์ในเครื่องได้ วิธีนี้จะช่วยให้การพัฒนาโค้ดเป็นไปโดยอัตโนมัติและราบรื่นหากคุณและผู้ทํางานร่วมกันกําลังใช้ซอฟต์แวร์การจัดการการควบคุมต้นฉบับ เช่น git
ดูรายละเอียดเพิ่มเติมได้ในอินเทอร์เฟซบรรทัดคําสั่งโดยใช้คู่มือ clasp
การทํางานร่วมกันกับไดรฟ์ที่แชร์
ไดรฟ์ที่แชร์ (ก่อนหน้านี้เรียกว่า "ไดรฟ์ของทีม") มอบพื้นที่ที่ใช้ร่วมกันใน Google ไดรฟ์ซึ่งผู้ใช้กลุ่มไดรฟ์จะทํางานร่วมกันได้อย่างมีประสิทธิภาพมากขึ้น ไฟล์ที่วางไว้ในไดรฟ์ที่แชร์จะเป็นของทั้งกลุ่ม ไม่ใช่ส่วนตัว ซึ่งหมายความว่าเมื่อผู้ทํางานร่วมกันออกจากกลุ่ม พวกเขาจะไม่ได้รับสิทธิ์การเป็นเจ้าของและการควบคุมไฟล์
ไดรฟ์ที่แชร์ยังให้คุณย้ายไฟล์ข้ามโดเมนได้อีกด้วย - ไดรฟ์ที่แชร์ในโดเมนหนึ่งอาจมีผู้ทํางานร่วมกันจากโดเมนอื่นซึ่งย้ายไฟล์จากโดเมนนั้นไปยังไดรฟ์ที่แชร์ได้ ข้อมูลนี้อาจเป็นประโยชน์ต่อนักพัฒนาซอฟต์แวร์ Apps Script อย่างยิ่ง เนื่องจากจะทําให้ทีมพัฒนาส่วนเสริม เว็บแอป หรือโค้ดอื่นๆ สําหรับลูกค้าในโดเมนอื่น
เมื่อคุณใช้ไดรฟ์ที่แชร์เพื่อทํางานร่วมกันในโครงการ Apps Script โปรดคํานึงถึงสิ่งต่อไปนี้
- ผู้ทํางานร่วมกันที่มีสิทธิ์แก้ไขในไดรฟ์ที่แชร์จะสร้างหรือย้ายไฟล์ใหม่ไปยังไดรฟ์ที่แชร์ได้ ในการดูและแก้ไขสคริปต์ พวกเขาสามารถดูและแก้ไขโครงการสคริปต์ เรียกใช้โค้ดสคริปต์ สร้างสคริปต์เวอร์ชันใหม่ เผยแพร่ส่วนเสริม
- หากต้องการทําให้สคริปต์ใช้งานได้เป็นเว็บแอปหรือไฟล์ดําเนินการสําหรับ Apps Script API บัญชีที่สร้างการทําให้ใช้งานได้ต้องอยู่ในโดเมนเดียวกับไดรฟ์ที่แชร์ที่มีสคริปต์อยู่
- ไดรฟ์ที่แชร์ช่วยให้คุณแชร์ไฟล์ที่ต้องการภายในไดรฟ์ที่แชร์ กับผู้ใช้รายอื่นนอกกลุ่ม และอัปเดตสิทธิ์การแก้ไขและดู ไฟล์เหล่านั้นได้เช่นเดียวกับไฟล์อื่นๆ ในไดรฟ์ แต่หากผู้ใช้อยู่ในทีมที่มีไดรฟ์ที่แชร์อยู่ คุณจะลดการเข้าถึงของผู้ใช้สําหรับ ไฟล์บางไฟล์ไม่ได้ เช่น หากผู้ใช้มีสิทธิ์แก้ไขไดรฟ์ที่แชร์ คุณจะเปลี่ยนแปลงสิทธิ์ดังกล่าวเป็นแบบดูอย่างเดียวสําหรับไฟล์ที่ระบุภายในไดรฟ์ที่แชร์ไม่ได้
- ผู้ทํางานร่วมกันซึ่งมีสิทธิ์เข้าถึงไดรฟ์ที่แชร์อย่างเต็มรูปแบบจะยังลบไฟล์และโครงการ Apps Script รวมถึงย้ายไฟล์ออกจากไดรฟ์ที่แชร์ได้
- สคริปต์ที่เชื่อมโยงกับคอนเทนเนอร์ทั้งหมดจะใช้รายการเข้าถึงของผู้ดูและผู้แก้ไขเดียวกันที่กําหนดไว้สําหรับไฟล์คอนเทนเนอร์ เช่น หากคุณมีสิทธิ์แก้ไขสเปรดชีตใน Google ชีต คุณจะมีสิทธิ์แก้ไขรหัสโครงการของ Apps Script ที่แนบมาด้วย การวางไฟล์คอนเทนเนอร์ดังกล่าวลงในไดรฟ์ที่แชร์จะทําให้ผู้ทํางานร่วมกันของไดรฟ์ที่แชร์มีสิทธิ์เข้าถึงโค้ดสคริปต์แบบเดียวกับที่มีให้สําหรับตัวคอนเทนเนอร์เอง
- เมื่อโครงการสคริปต์อยู่ในไดรฟ์ที่แชร์ ระบบอาจจํากัดการเข้าถึงโครงการ Cloud Platform (GCP) โปรดดูรายละเอียดในส่วนโปรเจ็กต์ GCP และไดรฟ์ที่แชร์
- เว็บแอปที่ใช้งานในโดเมนหนึ่งจะหยุดทํางานหากการเป็นเจ้าของเปลี่ยนเป็นไดรฟ์ที่แชร์หรือบัญชีในโดเมนอื่น ปัญหานี้สามารถแก้ไขได้โดยการย้ายสคริปต์กลับไปที่โดเมนเดิม
- ในทํานองเดียวกัน โปรเจ็กต์สคริปต์ที่ใช้งานได้เป็นปฏิบัติการของ Apps Script API จะหยุดทํางานเมื่อเรียกใช้โดย API หากย้ายผ่านไดรฟ์ที่แชร์จากโดเมนหนึ่งไปยังอีกโดเมนหนึ่ง ปัญหานี้สามารถแก้ไขได้โดยย้ายสคริปต์กลับไปที่โดเมนเดิม
ทํางานร่วมกันด้วยการแชร์โครงการ
นอกจากนี้ คุณยังทํางานร่วมกันในโครงการโดยแชร์โครงการกับผู้ทํางานร่วมกันทั้งหมดได้โดยตรง คุณจะแชร์โครงการสคริปต์ที่อยู่ในโฟลเดอร์ Google ไดรฟ์ปกติหรือในไดรฟ์ที่แชร์ได้โดยตรง หากคุณใช้วิธีการนี้ เราขอแนะนําให้คุณวางแผนอย่างรอบคอบว่าผู้ใดเป็นเจ้าของและดูแลสคริปต์ตลอดช่วงเวลา
โครงการแบบสแตนด์อโลนจะปรากฏใน Google ไดรฟ์ของคุณเป็นไฟล์ และคุณสามารถแชร์โครงการได้เช่นเดียวกับไฟล์อื่นๆ ดูข้อมูลเพิ่มเติมได้ที่การแชร์ไฟล์และโฟลเดอร์
โครงการที่ผูกกับคอนเทนเนอร์จะไม่แสดงใน Google ไดรฟ์ หากต้องการแชร์โครงการที่ผูกกับคอนเทนเนอร์ ให้แชร์ไฟล์คอนเทนเนอร์ระดับบนสุด เช่น หากมีสคริปต์แนบอยู่กับสเปรดชีตของ Google ชีต คุณก็ทําให้คนอื่นเป็นเอดิเตอร์ของสคริปต์ได้โดยทําให้เป็นเอดิเตอร์ของสเปรดชีต โปรเจ็กต์ที่ผูกกับคอนเทนเนอร์จะรับช่วงการตั้งค่าสิทธิ์เข้าถึงของผู้ดูและผู้แก้ไขของไฟล์คอนเทนเนอร์
สคริปต์ที่เชื่อมโยงกับคอนเทนเนอร์ทั้งหมดจะใช้รายการเข้าถึงของเจ้าของ ผู้ดู และผู้แก้ไขเดียวกันที่กําหนดไว้สําหรับไฟล์คอนเทนเนอร์ เจ้าของคอนเทนเนอร์จะเป็นเจ้าของโครงการสคริปต์ใหม่ไม่ว่าใครจะเป็นผู้สร้างโครงการนั้น
ทรัพยากรสําหรับการทํางานร่วมกันและโครงการ
ทรัพยากรคือเอนทิตีที่เชื่อมโยงกับโปรเจ็กต์ แต่มีอยู่โดยอิสระจากโค้ด ส่วนนี้จะอธิบายว่าการทํางานร่วมกันในโปรเจ็กต์จะส่งผลต่อทรัพยากรอย่างไร โดยเฉพาะโปรเจ็กต์ Cloud Platform, ทริกเกอร์, ไลบรารี และพร็อพเพอร์ตี้ผู้ใช้
การทํางานร่วมกันและโครงการใน Google Cloud
โครงการสคริปต์ Apps ทั้งหมดจะมีโครงการ Google Cloud ที่เกี่ยวข้อง โครงการ Google Cloud มีชุดเจ้าของ ผู้แก้ไข และบทบาทอื่นๆ ของตนเอง ซึ่งอาจแตกต่างจากกลุ่มผู้ใช้ที่เข้าถึงโปรเจ็กต์สคริปต์ได้
หากคุณวางแผนที่จะเผยแพร่โครงการสคริปต์เป็นส่วนเสริม โครงการดังกล่าวจะต้องใช้โครงการ Google Cloud มาตรฐาน เมื่อทํางานร่วมกันในแอปพลิเคชันที่ใช้โปรเจ็กต์ Google Cloud มาตรฐาน เราขอแนะนําให้กําหนดค่าเจ้าของและบทบาท Google Cloud เพื่อให้ผู้ทํางานร่วมกันทั้งหมดมีระดับการเข้าถึงที่เหมาะสม การดําเนินการนี้ช่วยป้องกันไม่ให้คุณสูญเสียการตั้งค่า Cloud ของโปรเจ็กต์ เนื่องจากเจ้าของโปรเจ็กต์ไม่ได้อยู่กับองค์กรของคุณแล้ว การดําเนินการนี้สําคัญอย่างยิ่งสําหรับส่วนเสริม
การทํางานร่วมกันและทริกเกอร์
เมื่อทํางานร่วมกันในโครงการ ระบบจะไม่แชร์ทริกเกอร์ที่ติดตั้งได้ที่คุณสร้างขึ้นแก่ผู้ที่มีสิทธิ์เข้าถึงโปรเจ็กต์ หากต้องมีการตั้งค่าทริกเกอร์ที่สอดคล้องกันสําหรับผู้ทํางานร่วมกันทั้งหมด ให้ใช้บริการสคริปต์เพื่อสร้างทริกเกอร์แบบเป็นโปรแกรมตามรันไทม์ สําหรับข้อมูลเพิ่มเติม โปรดดูการจัดการทริกเกอร์แบบเป็นโปรแกรม
การทํางานร่วมกันและห้องสมุด
ไลบรารีที่รวมอยู่ในโปรเจ็กต์จะพร้อมให้ผู้ทํางานร่วมกันในโปรเจ็กต์ได้ อย่างไรก็ตาม หากไลบรารีเหล่านั้นไม่มีสิทธิ์การเข้าถึงระดับอ่านเป็นอย่างน้อย ไลบรารีก็จะไม่สามารถใช้ไลบรารีเหล่านั้นได้ ในกรณีนี้ สคริปต์จะแสดงข้อผิดพลาด ดูข้อมูลเพิ่มเติมเกี่ยวกับไลบรารีได้ที่การจัดการไลบรารี
การทํางานร่วมกันและพร็อพเพอร์ตี้ผู้ใช้
พร็อพเพอร์ตี้ผู้ใช้ จะแตกต่างจากผู้ใช้ที่สร้างพร็อพเพอร์ตี้นั้น ซึ่งหมายความว่าผู้ทํางานร่วมกันจะไม่เห็นหรือเข้าถึงพร็อพเพอร์ตี้ผู้ใช้ของคุณได้ และคุณจะดูหรือเข้าถึงพร็อพเพอร์ตี้ของผู้ทํางานร่วมกันไม่ได้ ใช้พร็อพเพอร์ตี้สคริปต์หากต้องการแชร์พร็อพเพอร์ตี้เฉพาะโปรเจ็กต์กับผู้ทํางานร่วมกัน ดูข้อมูลเพิ่มเติมได้ในคู่มือพร็อพเพอร์ตี้