與其他開發人員合作

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 呼叫從另一個網域移動時,會停止運作。將指令碼移回原始網域即可修正這個問題。

與專案共用協作

您也可以直接與所有協作者共用專案,協作進行專案。您可以直接共用位於一般 Google 雲端硬碟資料夾或共用雲端硬碟中的指令碼專案。如果您使用此方法,建議您審慎規劃指令碼的擁有者和維護時間。

獨立專案會在 Google 雲端硬碟中顯示為檔案,您可以像任何其他檔案一樣共用這些項目。詳情請參閱共用檔案和資料夾

您的 Google 雲端硬碟不會顯示容器繫結專案。如要共用容器繫結的專案,只需共用父項容器檔案即可。舉例來說,如果您的指令碼繫結至 Google 試算表,您可以將該指令碼設為 Google 試算表的編輯者,藉此將指令碼設為編輯者。容器容器中的所有專案都會沿用容器檔案的檢視者和編輯者存取權設定。

協作及專案資源

資源是與專案相關聯的實體,但獨立於其程式碼內。本節說明在專案上協同合作如何影響其資源,特別是其 Cloud Platform 專案、觸發條件、程式庫和使用者屬性。

協作與 Cloud Platform 專案

每個 Apps Script 專案都有相關聯的 Cloud Platform (GCP) 專案。GCP 專案有其自己的擁有者、編輯者和其他角色,可以與可存取指令碼專案的一組使用者不同。

如果指令碼專案要以外掛程式的形式發布,則必須使用標準 GCP 專案。在使用標準 GCP 專案的應用程式上進行協作時,建議您設定 GCP 擁有者和角色,確保所有協作者都具備適當的存取層級。這有助於防止您無法存取專案的雲端設定,因為其擁有者已不在貴機構內。這對外掛程式來說特別重要

協作及觸發條件

當您在專案上協作時,您建立的所有可安裝觸發條件不會與有權存取專案的使用者共用。如果您需要為所有協作者設定一致的觸發條件設定,可以在執行階段中使用指令碼服務建立觸發條件。詳情請參閱「以程式輔助方式管理觸發條件」一文。

協作及程式庫

專案協作者可以存取專案中的程式庫。然而,如果他們沒有包含程式庫的讀取層級存取權限,就無法使用這些程式庫,此時指令碼會擲回錯誤。如要進一步瞭解程式庫,請參閱管理程式庫

協作和使用者屬性

使用者屬性對建立屬性的使用者獨有。這表示專案協作者無法查看或存取使用者屬性,您無法查看或存取他們的屬性。如果您要與協作者共用專案專屬屬性,請使用指令碼屬性。詳情請參閱屬性指南