程式庫是一種指令碼專案,其函式可在其他指令碼中重複使用。
取得程式庫存取權
如要在專案中加入程式庫,您至少須有檢視表層級 可以授予使用者存取權如果您不是要調查的圖書館作者 包括聯絡作者,然後要求存取權
您需要新增要納入的程式庫指令碼 ID。當您 程式庫存取權。您可以在專案設定中找到指令碼 ID
頁。在指令碼專案中新增程式庫
- 在 Apps Script 編輯器左側,「程式庫」旁邊按一下「新增」 程式庫 。
- 在「指令碼 ID」欄位,貼上程式庫的指令碼 ID。
- 按一下「查詢」。
- 按一下「版本」下拉式選單,然後選取程式庫版本 。
- 檢查預設的「ID」是您希望儲存的
搭配這個程式庫使用指令碼會使用這個名稱
參閱程式庫舉例來說,如果設為
Test
,就能 如下所示,呼叫該程式庫的方法:Test.libraryMethod()
。 - 按一下 [新增]。
使用程式庫
使用您隨附的程式庫,就像使用預設服務一樣。適用對象
舉例來說,如果 Test
是圖書館的 ID,請輸入
Test
後接一個句號,即可查看程式庫中的方法清單。
請按照以下說明開啟內含程式庫的參考說明文件 步驟如下:
在指令碼編輯器左側,按一下程式庫名稱旁邊的「更多」圖示
>(在新分頁中開啟)。移除資料庫
在指令碼編輯器左側,按一下程式庫名稱旁邊的「更多」圖示
>移除 >移除媒體庫。更新程式庫
您可以變更程式庫的版本或更新 ID。
- 在編輯器左側的「程式庫」下方請按一下資料庫名稱
- 進行所需修改並按一下「儲存」。
建立及分享資料庫
如要以程式庫的形式使用及共用指令碼專案,請按照下列步驟操作。
- 建立版本化部署作業 。
- 與程式庫的所有潛在使用者共用至少檢視層級的存取權。
- 為這些使用者提供指令碼 ID,您可以在專案 設定 頁面。
最佳做法
編寫程式庫時,請遵循下列準則:
- 為專案選擇有意義的名稱,因為這會用作 預設 ID。
- 如果您希望其中的一種或多種方法無法顯示 (或
可用性) 給程式庫使用者,您可以使用
底線。例如
myPrivateMethod_()
。 - 程式庫使用者只能看到列舉的全域屬性。這包括函式
宣告、使用
var
在函式外建立的變數,以及明確設定的屬性 加入全域物件的那一項舉例來說,如果Object.defineProperty()
的enumerable
設為false
,就會建立可在程式庫中使用的符號,但使用者無法存取這個符號。 如要讓程式庫使用者使用指令碼編輯器自動完成和 也就是自動產生的說明文件 所有函式的說明文件。範例如下:
/** * Raises a number to the given power, and returns the result. * * @param {number} base the number we're raising to a power * @param {number} exp the exponent we're raising the base to * @return {number} the result of the exponential calculation */ function power(base, exp) { ... }
資源範圍
使用程式庫時有兩種類型的資源:共用 不能共用共用資源代表程式庫和包含 指令碼內建存取相同資源執行個體的功能。 下圖說明共用資源 使用者屬性:
非共用資源是指程式庫和內含指令碼 內建的存取權。不過,程式庫可以 提供明確函式, 執行作業。以下範例是您必須加入的函式 來公開程式庫的指令碼屬性:
function getLibraryProperty(key) {
return ScriptProperties.getProperty(key);
}
下圖以 指令碼屬性:
這個表格列出共用和非共用資源,供您參考:
資源 | 共用* | 未共用** | 附註 |
---|---|---|---|
鎖定 | 在 程式庫。 | ||
指令碼內容 | 在 程式庫。 | ||
快取 | 在 程式庫。 | ||
觸發條件 | 在程式庫中建立的簡易觸發條件不會因包含 指令碼 | ||
ScriptApp | |||
UiApp | |||
使用者屬性 | |||
記錄器和執行轉錄稿 | |||
協作平台、試算表和其他容器 | 呼叫 getActive() 會傳回
包括指令碼 |
||
郵件應用程式與 Gmail 應用程式 | |||
* 這表示程式庫沒有自己的
只使用指令碼建立的特徵/資源
呼叫 API
** 這表示程式庫有專屬的資源/功能執行個體 且所有使用該程式庫的指令碼皆可共用 同一個執行個體。 |
測試程式庫
如要測試程式庫,請使用 Head 部署。具備編輯者層級的使用者 指令碼存取權可以使用主要部署作業。
對程式庫偵錯
在內含程式庫的專案中使用偵錯工具時 這些函式可導入內含程式庫的函式程式碼會顯示在 偵錯工具,以便在僅供檢視模式下使用,且使用正確的版本。