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

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

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

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

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

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

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

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