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

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

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

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

ทริกเกอร์ดังกล่าวกับผู้ทำงานร่วมกันในโปรเจ็กต์

การทำงานร่วมกันและไลบรารี

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

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

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