こんにちは、凛です。ナースをしながら、病棟と自宅の面倒ごとをGASで減らしています。
GASでコードを書いていると、必ず一度は「これ、毎回ゼロから書くのだるい……」と感じる瞬間が来ます。私にもありました。そしてその状況を一変させたのがGASライブラリです。今日は、ライブラリを知る前と後で私のGAS生活がどう変わったかから始めて、追加手順、2026年時点で現役活躍中のおすすめ10選まで、業務で実際に使っている目線でまとめます。
Before / After:ライブラリを知る前と後
Before:全部自分の手で書いていた頃
ライブラリの存在を知らなかった頃の私は、OAuth認証のような重たい処理も、日付フォーマットの細かい変換も、全部その場で書くか、過去のプロジェクトから探し出してコピペしていました。同じようなコードが複数のプロジェクトに散らばり、どれが最新版か分からなくなる。直したいバグが見つかったら、コピペした数だけ直して回る。今思えば、かなりの時間をムダにしていました。
忘れられないのが、副業案件で先輩から「これライブラリ使って」と言われた日のこと。「スクリプトID」という単語を聞いた瞬間にフリーズした記憶があります。IDって何? どこで見るの? と。
After:ID一つで「借りてくる」働き方に
仕組みを知ってしまえば、なんてことはありませんでした。GASライブラリは、他のGASプロジェクトを自分のプロジェクトから呼び出せる仕組みです。npm/pipのようなパッケージマネージャではなく、「他人のGASプロジェクトをID経由で参照する」という独自の方式です。
自分のGAS ─[スクリプトID参照]─→ 他人のGAS(ライブラリ)
↓
公開されている関数を呼び出せる
導入後の変化は劇的でした。車輪の再発明をしなくてよくなり、バージョン指定のおかげで安定稼働。自分用のユーティリティ関数をライブラリ化すれば、複数プロジェクトで共有できるので「コピペを直して回る」作業も消えました。
もちろん、いいことばかりではありません。ライブラリ経由の呼び出しは通常のメソッドより数倍遅く、依存先が更新停止・削除されるリスクもあります。感覚としては外部ネットワーク遅延と同じ扱いで付き合うのがちょうどいいです。このあたりの対策は記事の後半で詳しく触れますね。
追加は3ステップで終わる
あの日フリーズした私に教えてあげたい、最短ルートがこちらです。
Step 1:対象ライブラリのスクリプトIDを入手
スクリプトIDは、ライブラリのGASエディタで「プロジェクトの設定」→「スクリプトID」からコピーできます。npmのパッケージ名に相当する識別子で、1つのライブラリにつき1つです。
例:1B7FSrk5Zi6L1rSxxTDgDEUsPzlukDsi4KGuTMorsTQHhGBzBkMun4iDF
Step 2:自分のGASプロジェクトに追加
GASエディタを開き、左サイドメニューの「ライブラリ」(📚アイコン)の+ボタンをクリック。
- スクリプトIDを貼り付けて「検索」
- バージョンを選択(基本は最新安定版)
- ID(呼び出し時の名前)を決める。デフォルトはライブラリ名
- 開発モード(HEAD)OFF推奨(本番は固定バージョン)
- 「追加」
Step 3:コードから呼び出す
追加したIDを名前空間として、そのライブラリの公開関数を叩けます。
// ID を "MyUtil" として追加したライブラリの関数呼び出し
function demo() {
const result = MyUtil.doSomething('引数');
console.log(result);
}
これだけです。拍子抜けするほど簡単ですよね。
で、何を入れればいい?2026年おすすめ10選
追加方法が分かったら、次の疑問は「どれが今も動いているのか」。古い紹介記事が多いジャンルなので、実際に私が業務・副業で動かしているライブラリだけ厳選しました。
1. OAuth2 for Apps Script
外部API(Salesforce、Twitter/X、Discord等)の認証に使う、定番度★5の大本命です。公式リポジトリは googleworkspace/apps-script-oauth2。GASから外部APIを叩くとき、OAuth認証の実装を一から書くと泣きます。このライブラリでほぼ全部解決します。
2. Moment.js for GAS
日付操作・フォーマット変換の定番で、定番度は★4。日付操作が多い請求書・レポート系プロジェクトで重宝します。ただし本家Moment.jsはメンテナンスモードに入っているので、新規プロジェクトならUtilities.formatDateやLuxonの検討もお忘れなく。
3. Lodash GS
配列・オブジェクト操作のユーティリティ集で、定番度★3。_.chunk、_.uniqBy、_.groupBy等が使えます。V8ランタイムでも便利な関数は多く、特にgroupBy系の需要が高いです。
4. BetterLog / BetterConsole
スプレッドシートにログを書き出すライブラリで、定番度★4。実行ログより長期保存でき、検索もしやすいのがメリットです。大量のトリガーを走らせるプロジェクトでは必須級だと思っています。
5. cJobs / BatchRequest
GASの6分制限を突破するためのバッチ処理を担う、定番度★3の実力派。大量データ処理の強い味方です。スクリプトプロパティを使うので、衝突には注意してください。
6. SpreadsheetAsDatabase
スプシをNoSQL風DBとして扱えるライブラリで、定番度★3。find/insert/update/deleteのCRUDが整うので、個人用のミニアプリに最適です。
7. Fast XML Parser
XML形式のレスポンスを扱うときに。定番度は★2ですが、RSS取得や旧SOAP API対応の場面ではこれが効きます。
8. dbdashboard / Charts library
動的グラフ生成用で、定番度★2。ダッシュボード系Webアプリ制作時に出番が来ます。
9. AsanaApp / TrelloApp / NotionApi
各サービスのAPI呼び出しラッパー群で、定番度★3。業務連携で各サービスのAPIを叩くときの型が揃います。
10. Moment-Timezone Alternative
タイムゾーン変換(日本・米国・EU等)用で、定番度★3。夜勤の勤怠をJSTで集計しつつ、米国支社のレポートはESTで、みたいなシーンで活躍します。
応用:壊さず・遅くせず運用するコツ
ライブラリは入れて終わりではなく、運用の作法があります。私が実務で守っているのは次の3つです。
バージョンは必ず固定する
HEAD(開発モード)で追加すると、ライブラリ開発者がpushするたびに自分のコードの挙動が変わる可能性があります。本番プロジェクトは必ず安定バージョン番号で固定。これだけで「昨日まで動いていたのに」の大半を防げます。
呼び出し速度の遅さを設計に織り込む
ライブラリ経由の関数呼び出しは、ローカル関数より明確に遅いです(1呼び出し数十ms〜)。ループ内で大量呼び出しすると、6分制限にすぐ引っかかります。
// ❌ 遅い:ループ内でライブラリ呼び出し
for (let i = 0; i < 1000; i++) {
const v = MyLib.calc(arr[i]);
}
// ✅ 速い:ライブラリ側でバルク対応がある場合それを使う
const vs = MyLib.calcBulk(arr);
自分のコードもライブラリ化する
2プロジェクト以上で同じコードをコピペしたら、それがライブラリ化のサインです。自分のスクリプトを**「ライブラリ」専用プロジェクト**として分離しておくと、保守性が一気に上がります。Beforeの頃の私のように、コピペを直して回る未来を防げますよ。
よくあるエラーと解決法
Authorization is required to perform that action
追加直後によく出る権限エラーです。GASエディタで Run ボタンを1回押して、許可ダイアログを通してください。
Missing ; before statement
ライブラリIDの名前衝突が原因のことが多いです。デフォルトIDが他のライブラリと被っていないか、プロジェクト設定で確認しましょう。
ライブラリがロードされない
スクリプトIDが間違っているか、共有権限が「リンクを知っている全員:閲覧者」になっていない可能性があります。ライブラリ提供側の設定を確認してください。
おわりに:選定基準はただ一つ
追加手順そのものは、ID入手→プロジェクトに追加→名前空間で呼び出す、の3ステップですぐ身につきます。難しいのはむしろ選定のほうで、基準は**「今も動いているか」の見極めが全て**です。古い記事で紹介されていても、3年間commitのないライブラリは避けましょう。本記事で挙げた10本は、2026年4月時点で現役稼働を確認しています。
スクリプトIDにフリーズしていたあの頃の自分に届くといいな、と思いながら書きました。まずはOAuth2かBetterLogあたりから、一つ追加してみてください。
関連記事
この記事を書いた人:凛
2児のママで現役ナースの凛です。病棟の事務仕事を一つずつGASで自動化してきた経験をもとに、「非エンジニアでも読める実務目線のGAS解説」をモットーに発信しています。誇張なし・実務ベースで、今日から使えるレシピをお届けします。