ทำงานร่วมกับนักพัฒนาซอฟต์แวร์คนอื่นๆ

Apps Script มีฟีเจอร์บางอย่างที่ช่วยคุณและนักพัฒนาซอฟต์แวร์คนอื่นๆ ในการสร้างและดูแลสคริปต์ ส่วนเสริม และเว็บแอปร่วมกัน

ข้อมูลเบื้องต้นเกี่ยวกับการทำงานร่วมกัน

หากต้องการทำงานร่วมกันในโปรเจ็กต์ คุณและผู้ทำงานร่วมกันต้องมีสิทธิ์เข้าถึงไฟล์โปรเจ็กต์ Apps Script (และคอนเทนเนอร์หากเป็นสคริปต์ที่เชื่อมโยง) ซึ่งจะช่วยให้ทุกคนในทีมเห็น และเปลี่ยนแปลงโค้ด Apps Script ได้ เอดิเตอร์ยังสร้างโค้ดเวอร์ชันใหม่ เผยแพร่ส่วนเสริม และทำให้สคริปต์ใช้งานได้เป็นเว็บแอปหรือเป็นไฟล์ปฏิบัติการสำหรับ Apps Script API ได้ด้วย

คุณช่วยทีมได้ด้วยการวางแผนล่วงหน้าว่าจะจัดการกับการแก้ไข การตรวจสอบ การกำหนดเวอร์ชัน และ (หากมี) การทำให้ใช้งานได้และการเผยแพร่โปรเจ็กต์ ส่วนเสริม หรือเว็บแอปของคุณ โดยปกติโปรเจ็กต์แบบสแตนด์อโลนจะทำงานร่วมกันได้ง่ายที่สุด เนื่องจากโปรเจ็กต์ปรากฏใน Google ไดรฟ์โดยตรงและเป็นประเภทโปรเจ็กต์ที่แนะนำสำหรับการพัฒนาส่วนเสริมและเว็บแอป

ปัญหาที่พบบ่อยในการทำงานร่วมกันเกิดขึ้นเมื่อเจ้าของโครงการสคริปต์ออกจากทีมไปโดยไม่ได้โอนการเป็นเจ้าของโครงการให้กับบุคคลอื่นในทีม ซึ่งอาจทำให้คุณดูแลรักษาหรืออัปเดตโปรเจ็กต์ไม่ได้ การวางโปรเจ็กต์สคริปต์ไว้ในไดรฟ์ที่แชร์ช่วยป้องกันปัญหานี้ เนื่องจากไฟล์ในไดรฟ์ที่แชร์ไม่มีเจ้าของที่เฉพาะเจาะจง

ทำงานร่วมกันด้วยเครื่องมือบรรทัดคำสั่ง clasp

clasp ช่วยให้คุณซิงค์โปรเจ็กต์ระหว่าง script.google.com และระบบไฟล์ในเครื่องได้ ซึ่งจะช่วยให้คุณเพิ่มประสิทธิภาพและทำให้การพัฒนาซอฟต์แวร์เป็นแบบอัตโนมัติหากคุณและผู้ทำงานร่วมกันใช้ซอฟต์แวร์การจัดการการควบคุมแหล่งที่มา เช่น git

ดูรายละเอียดเพิ่มเติมได้ที่อินเทอร์เฟซบรรทัดคำสั่งโดยใช้คู่มือ clasp

ทำงานร่วมกันด้วยไดรฟ์ที่แชร์

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

นอกจากนี้ไดรฟ์ที่แชร์ยังช่วยให้คุณย้ายไฟล์ข้ามโดเมนด้วย โดยไดรฟ์ที่แชร์ในโดเมนหนึ่งอาจมีผู้ทำงานร่วมกันจากอีกโดเมนหนึ่งที่สามารถย้ายไฟล์จากโดเมนนั้นไปยังไดรฟ์ที่แชร์ได้ ซึ่งจะมีประโยชน์มากต่อนักพัฒนา Apps Script เพราะเป็นวิธีการสำหรับทีมในการพัฒนาส่วนเสริม เว็บแอป หรือโค้ดอื่นๆ สำหรับลูกค้าในโดเมนต่างๆ

เมื่อคุณใช้ไดรฟ์ที่แชร์เพื่อทำงานร่วมกันในโปรเจ็กต์ Apps Script โปรดคำนึงถึงสิ่งต่อไปนี้

  1. ผู้ทำงานร่วมกันที่มีสิทธิ์เข้าถึงระดับผู้แก้ไขในไดรฟ์ที่แชร์จะสร้างหรือย้ายไฟล์ใหม่ไปยังไดรฟ์ที่แชร์ได้ ในฐานะผู้แก้ไขสคริปต์ พวกเขาจะดูและแก้ไขโปรเจ็กต์สคริปต์ เรียกใช้โค้ดสคริปต์ สร้างเวอร์ชันสคริปต์ใหม่ เผยแพร่ส่วนเสริมได้
  2. หากต้องการทำให้สคริปต์ใช้งานได้เป็นเว็บแอปหรือไฟล์ปฏิบัติการสำหรับ Apps Script API บัญชีที่สร้างการทำให้ใช้งานได้ต้องอยู่ในโดเมนเดียวกับไดรฟ์ที่แชร์ที่มีสคริปต์อยู่
  3. ไดรฟ์ที่แชร์ช่วยให้คุณแชร์ไฟล์ที่ต้องการภายในไดรฟ์ที่แชร์กับผู้อื่นภายนอกกลุ่ม รวมถึงอัปเดตสิทธิ์การแก้ไขและดูไฟล์เหล่านั้นได้เช่นเดียวกับไฟล์อื่นๆ ในไดรฟ์ แต่หากผู้ใช้อยู่ในทีมที่เป็นเจ้าของไดรฟ์ที่แชร์ คุณจะลดสิทธิ์เข้าถึงเฉพาะบางไฟล์ไม่ได้ เช่น หากผู้ใช้มีสิทธิ์แก้ไขไดรฟ์ที่แชร์ คุณจะเปลี่ยนเป็นสิทธิ์ดูอย่างเดียวสำหรับไฟล์ที่ต้องการภายในไดรฟ์ที่แชร์ไม่ได้
  4. ผู้ทำงานร่วมกันที่มีสิทธิ์เข้าถึงไดรฟ์ที่แชร์จะลบไฟล์และโปรเจ็กต์ Apps Script และย้ายไฟล์ออกจากไดรฟ์ที่แชร์ได้
  5. สคริปต์ที่ผูกกับคอนเทนเนอร์ทั้งหมดจะใช้รายการเข้าถึงเครื่องมือดูและตัวแก้ไขรายการเดียวกันกับที่กำหนดไว้สำหรับไฟล์คอนเทนเนอร์ เช่น หากมีสิทธิ์แก้ไขสเปรดชีตใน Google ชีต คุณก็จะมีสิทธิ์แก้ไขรหัสโปรเจ็กต์ Apps Script ที่แนบมาด้วย การวางไฟล์คอนเทนเนอร์ดังกล่าวลงในไดรฟ์ที่แชร์จะทำให้ผู้ทำงานร่วมกันของไดรฟ์ที่แชร์มีสิทธิ์เข้าถึงโค้ดสคริปต์ได้เช่นเดียวกับที่ผู้ทำงานร่วมกันมีต่อคอนเทนเนอร์เอง
  6. เมื่อโปรเจ็กต์สคริปต์อยู่ในไดรฟ์ที่แชร์ ระบบอาจจำกัดการเข้าถึงโปรเจ็กต์ Cloud Platform (GCP) โปรดดูรายละเอียดที่ส่วนคู่มือโปรเจ็กต์ GCP และไดรฟ์ที่แชร์
  7. เว็บแอปที่ใช้งานในโดเมนหนึ่งจะหยุดทำงานหากการเป็นเจ้าของเปลี่ยนเป็นไดรฟ์ที่แชร์หรือบัญชีในโดเมนอื่น ซึ่งแก้ไขได้โดยย้ายสคริปต์กลับไปยังโดเมนเดิม
  8. ในทํานองเดียวกัน โปรเจ็กต์สคริปต์ที่ติดตั้งใช้งานเป็นไฟล์ปฏิบัติการ Apps Script API จะหยุดทำงานเมื่อเรียกใช้โดย API หากย้ายผ่านไดรฟ์ที่แชร์จากโดเมนหนึ่งไปยังอีกโดเมนหนึ่ง ซึ่งแก้ไขได้โดยย้ายสคริปต์กลับไปยังโดเมนเดิม

ทำงานร่วมกันด้วยโฟลเดอร์ที่แชร์

หากทำงานร่วมกันด้วยไดรฟ์ที่แชร์ไม่ได้ ให้ใช้โฟลเดอร์ที่แชร์แทน เมื่อคุณสร้างหรือย้ายโปรเจ็กต์ Apps Script ไปยังโฟลเดอร์ Google ไดรฟ์ที่ผู้อื่นเข้าถึงได้ บุคคลเหล่านั้นจะได้รับสิทธิ์เข้าถึงโปรเจ็กต์ Apps Script เดียวกันกับที่บุคคลดังกล่าวมีสำหรับโฟลเดอร์ เช่น

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

ทำงานร่วมกันด้วยการแชร์โครงการ

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

โปรเจ็กต์แบบสแตนด์อโลนจะปรากฏใน Google ไดรฟ์ในรูปแบบไฟล์ และคุณสามารถแชร์ได้เช่นเดียวกับไฟล์อื่นๆ ดูข้อมูลเพิ่มเติมได้ที่การแชร์ไฟล์และโฟลเดอร์

โปรเจ็กต์ที่เชื่อมโยงกับคอนเทนเนอร์จะไม่ปรากฏใน Google ไดรฟ์ หากต้องการแชร์โปรเจ็กต์ที่ผูกกับคอนเทนเนอร์ ให้แชร์ไฟล์คอนเทนเนอร์ระดับบนสุด เช่น หากมีสคริปต์ที่เชื่อมโยงกับสเปรดชีตใน Google ชีต คุณสามารถกำหนดให้บุคคลอื่นเป็นผู้แก้ไขสคริปต์ได้โดยกำหนดให้บุคคลนั้นเป็นผู้แก้ไขสเปรดชีต โปรเจ็กต์ที่เชื่อมโยงกับคอนเทนเนอร์จะรับช่วงการตั้งค่าการเข้าถึงผู้ดูและผู้แก้ไขของไฟล์คอนเทนเนอร์

สคริปต์ที่ผูกกับคอนเทนเนอร์ทั้งหมดใช้รายการเข้าถึงเจ้าของ ผู้ดู และผู้แก้ไขเดียวกันที่กำหนดไว้สำหรับไฟล์คอนเทนเนอร์ เจ้าของคอนเทนเนอร์จะได้รับสิทธิ์เป็นเจ้าของโปรเจ็กต์สคริปต์ใหม่โดยไม่คำนึงว่าใครเป็นผู้สร้างโปรเจ็กต์นั้น

ทรัพยากรสำหรับการทำงานร่วมกันและโปรเจ็กต์

ทรัพยากรเป็นเอนทิตีที่เชื่อมโยงกับโปรเจ็กต์ แต่มีอยู่โดยอิสระของโค้ด ส่วนนี้จะอธิบายว่าการทำงานร่วมกันในโปรเจ็กต์มีผลต่อทรัพยากรอย่างไร โดยเฉพาะโปรเจ็กต์ Cloud Platform, ทริกเกอร์, ไลบรารี และพร็อพเพอร์ตี้ผู้ใช้

การทำงานร่วมกันและโปรเจ็กต์ใน Google Cloud

โปรเจ็กต์ Apps Script ทุกโปรเจ็กต์จะมีโปรเจ็กต์ Google Cloud ที่เชื่อมโยงกัน โปรเจ็กต์ Google Cloud จะมีชุดเจ้าของ ผู้แก้ไข และบทบาทอื่นๆ ของตนเอง ซึ่งอาจแตกต่างจากกลุ่มผู้ใช้ที่เข้าถึงโปรเจ็กต์สคริปต์ได้

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

การทำงานร่วมกันและทริกเกอร์

เมื่อทำงานร่วมกันในโปรเจ็กต์ ระบบจะไม่แชร์ทริกเกอร์ที่ติดตั้งได้ที่คุณสร้างขึ้นกับผู้ที่มีสิทธิ์เข้าถึงโปรเจ็กต์ หากต้องการตั้งค่าทริกเกอร์ที่สอดคล้องกันสำหรับผู้ทำงานร่วมกันทั้งหมด ให้ใช้บริการสคริปต์เพื่อสร้างทริกเกอร์แบบเป็นโปรแกรมขณะรันไทม์ ดูข้อมูลเพิ่มเติมได้ที่การจัดการทริกเกอร์แบบเป็นโปรแกรม

การทำงานร่วมกันและห้องสมุด

ผู้ทำงานร่วมกันในโปรเจ็กต์จะเข้าถึงไลบรารีที่รวมอยู่ในโปรเจ็กต์ได้ อย่างไรก็ตาม หากผู้ใช้ไม่มีสิทธิ์การเข้าถึงระดับการอ่านเป็นอย่างต่ำสำหรับไลบรารีที่รวมอยู่ จะใช้ไลบรารีดังกล่าวไม่ได้ ในกรณีนี้ สคริปต์จะแสดงข้อผิดพลาด ดูข้อมูลเพิ่มเติมเกี่ยวกับไลบรารีได้ที่การจัดการไลบรารี

การทำงานร่วมกันและพร็อพเพอร์ตี้ผู้ใช้

พร็อพเพอร์ตี้ผู้ใช้จะไม่ซ้ำกันสำหรับผู้ใช้ที่ทำรายการนั้นๆ ซึ่งหมายความว่าผู้ทำงานร่วมกันของโปรเจ็กต์จะไม่เห็นหรือเข้าถึงพร็อพเพอร์ตี้ผู้ใช้ของคุณไม่ได้ และคุณจะดูหรือเข้าถึงพร็อพเพอร์ตี้ของผู้ใช้ไม่ได้เช่นกัน ใช้พร็อพเพอร์ตี้สคริปต์หากคุณต้องการแชร์พร็อพเพอร์ตี้เฉพาะโปรเจ็กต์กับผู้ทำงานร่วมกัน ดูข้อมูลเพิ่มเติมได้ที่คำแนะนำเกี่ยวกับพร็อพเพอร์ตี้