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

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

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

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

การทำงานร่วมกันและคลัง

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

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

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