ライブラリ

ライブラリは、他のスクリプトで関数を再利用できるスクリプト プロジェクトです。

図書館を利用する

プロジェクトにライブラリを含めるには、少なくともビューレベルが必要です。 必要ありません。リンクするライブラリの作成者ではない場合 作成者に連絡してアクセス権をリクエストします

含めるライブラリのスクリプト ID が必要です。新しい [プロジェクトの設定] でスクリプト ID を確認できます。 ページ。

スクリプト プロジェクトにライブラリを追加する

  1. Apps Script エディタの左側にある [ライブラリ] の横で、[ ライブラリ
  2. [スクリプト ID] で、フィールドに、ライブラリのスクリプト ID を貼り付けます。
  3. [Look up] をクリックします。
  4. [Version] プルダウンをクリックして、ライブラリのバージョンを選択します。 使用できます。
  5. デフォルトの「Identifier」がトレーニング済みのデータを 使用します。これは、スクリプトで使用される名前で、 ご覧ください。たとえば、Test に設定すると、次のようになります。 Test.libraryMethod() のように、そのライブラリのメソッドを呼び出します。
  6. [追加] をクリックします。

ライブラリを使用する

デフォルトのサービスの場合と同様に、インクルードされているライブラリを使用します。対象 たとえば、ライブラリの識別子が Test の場合は、次のように入力します。 Test の直後にピリオドを付けると、ライブラリ内のメソッドのリストが表示されます。

含まれているライブラリのリファレンス ドキュメントは、次の手順で開くことができます。 手順は次のとおりです。

スクリプト エディタの左側で、ライブラリ名の横にあるその他アイコン >新しいタブで開く

ライブラリを削除する

スクリプト エディタの左側で、ライブラリ名の横にあるその他アイコン >削除 >ライブラリの削除

ライブラリを更新する

ライブラリのバージョンを変更したり、ライブラリの識別子を更新したりできます。

  1. エディタ左側の [ライブラリ] セクションで図書館名をクリックします。
  2. 変更を加えて [保存] をクリックします。

ライブラリを作成して共有する

スクリプト プロジェクトをライブラリとして使用、共有する手順は次のとおりです。

  1. バージョニングされた Deployment を作成する 使用できます。
  2. ライブラリのすべての潜在的ユーザーと、ビューレベル以上のアクセス権を共有します。
  3. 該当するユーザーにスクリプト ID を付与してください。ID は、プロジェクト 設定 ページ。

ベスト プラクティス

ライブラリを作成する際は、次のガイドラインに従ってください。

  1. プロジェクトにはわかりやすい名前を付けてください。 他のライブラリがライブラリに含まれている場合、デフォルトの識別子が使用されます。
  2. スクリプトの 1 つ以上のメソッドを非表示にしたい場合(または メソッド名を 使用します。たとえば、myPrivateMethod_() です。
  3. ライブラリのユーザーには、列挙可能なグローバル プロパティのみが表示されます。これには、 宣言、var を使用して関数外で作成された変数、明示的に設定されたプロパティ 設定されます。たとえば、enumerablefalse に設定した Object.defineProperty() です。 は、ライブラリで使用できるシンボルを作成しますが、ユーザーはこのシンボルにアクセスできません。
  4. ライブラリのユーザーがスクリプト エディタの予測入力と 使用する場合は、JSDoc 形式のドキュメント、 ドキュメントをご覧ください。次の例をご覧ください。

    /**
     * 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) { ... }
    

リソースのスコープ設定

ライブラリを扱う場合、次の 2 種類のリソースを使用します。 共有されません。共有リソースとは、ライブラリとそれを含むリソースの両方が スクリプトには、リソースの同じインスタンスへのアクセスが組み込まれています。「 次の図に、共有リソースを示します。 ユーザー プロパティ:

共有リソース

非共有リソースとは、ライブラリとインクルード スクリプトの両方に そのリソースのインスタンスにのみアクセスが許可されます。ただし、ライブラリを使用すれば、 リソースへのアクセスを提供する明示的な関数を持たせることで、 操作できます。この例は、この例に含める関数を スクリプト プロパティを公開します。

  function getLibraryProperty(key) {
    return ScriptProperties.getProperty(key);
  }

次の図は、共有されていないリソースについて、 スクリプトのプロパティ:

共有されていないリソース

次の表に、共有リソースと非共有リソースの一覧を示します。

リソース 共有中* 未共有** メモ
ロック 同じインスタンスは、作成されたプロジェクトを含むすべてのスクリプトに ライブラリです。
スクリプト プロパティ 同じインスタンスは、作成されたプロジェクトを含むすべてのスクリプトに ライブラリです。
キャッシュ 同じインスタンスは、作成されたプロジェクトを含むすべてのスクリプトに ライブラリです。
トリガー ライブラリで作成された単純なトリガーが、インクルードによってトリガーされない 使用します。
ScriptApp
UiApp
ユーザー プロパティ
ロガーと実行の文字起こし
Google サイト、スプレッドシート、その他のコンテナ getActive() を呼び出すと、指定したオブジェクトのコンテナが返されます。 あります。
MailApp と GmailApp
* つまり、ライブラリには、関数の固有のインスタンスが スクリプトによって作成されたものが代わりに使用されます 呼び出すことができます。
** これは、ライブラリがリソース/機能の独自のインスタンスを持つことを意味します。 ライブラリを使用するすべてのスクリプトが 同じインスタンスです

ライブラリをテストする

ライブラリをテストするには、ヘッド デプロイを使用します。編集者レベルの権限を持つユーザー ヘッドデプロイを使用できます

ライブラリをデバッグする

ライブラリを含むプロジェクトでデバッガを使用すると、 含まれているライブラリの関数にステップインできます。コードは 適切なバージョンに配置します。