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

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

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

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

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

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

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

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