GoogleAppScript

本項は書きたての記事です。正確な情報は公式サイト、公式ドキュメント、記載の参照サイトでご確認ください。
ライブラリ、アセットの著作権は版元・開発者サイトで必ずご確認ください。

目次

+ 読む

History

No Release 対応
1 2009年5月
2 2009年8月 JavaScript1.6ベース。1.7と1.8、ECMAScript 5APIの一部を含む。
3 2020年3月 Rhino JavaScript、V8 Rhino JavaScript
※ たぶんあるだろうがVersion/Revisionが不明なためNoとした。

GAS開発

JavaScript(ECMAScript/JS)ベース。
少し癖はあるもののJSの文法等を理解していれば楽に入って行ける。
次に、ECMAScriptであるものの開発環境をある程度統一したいという気持ちは出てくるもの。そこで
「clasp」を使ってTypeScriptで開発することができる。
webフロント/バックをnode系で開発しているなら、TypeScriptに統一できるのはメリットある。
またGit管理を行えば効率化できる。


ライブラリ

自分のGAS関数をライブラリ化できる。
過去の資材をいくらコピペで良いといっても煩雑になる。そこでライブラリ化して呼び出すだけで使えるようになっておきたい。
チームや社内で共有資産として展開しておくといい。

後述でジェネリックなライブラリを紹介している。Githubなどで公開されている方もいるが、ストア化されていないのでなかなか見つけ辛いのが難点。

GASトリガー

GASトリガーはAWS Lambdaのように「実行時間」「実行回数」「トリガー制限」「サービス毎の制限」がある。
業務で有償利用している場合を除いて無料枠のはずなので、GASはボタン押下で動かすようにして極力トリガーは使わないようにしたい。
どうしてもトリガーを使いたい場合はトリガーカウンターを用意して、閾値を超えた場合は発報(メールやSMS等)するようにした方が良い。

Google サービスの割り当て 現在の制限事項  |  Apps Script  |  Google for Developers
https://developers.google.com/apps-script/guides/services/quotas?hl=ja#current_limitations

最大実行時間 機能 無料アカウント Google Workspace アカウント
スクリプト ランタイム 6 分 / 実行 6 分 / 実行
カスタム関数ランタイム 30 秒 / 実行 30 秒 / 実行
実行時間 機能 無料アカウント Google Workspace アカウント
トリガーの合計実行時間 90 分 / 日 6 時間 / 日
実行回数制限 機能 無料アカウント Google Workspace アカウント
カレンダーの予定の作成 5,000 / 日 10,000 人 / 日
連絡先の作成 1,000 人 / 日 2,000 人 / 日
グループの読み取り 2,000 人 / 日 10,000 人 / 日
JDBC 接続 10,000 人 / 日 50,000 / 日
JDBC 接続の失敗 100 人 / 日 500 / 日
プレゼンテーションの作成 250 / 日 1,500 / 日
プロパティの読み取り/書き込み 50,000 / 日 500,000 / 日
スプレッドシートの作成 250 / 日 3,200 / 日
URL 取得の呼び出し 20,000 / 日 100,000 人 / 日
トリガー制限 機能 無料アカウント Google Workspace アカウント
トリガーの合計実行時間 90 分 / 日 6 時間 / 日
トリガー 1 ユーザー / スクリプトあたり 20 件 1 ユーザー / スクリプトあたり 20 件

Gmail制限 機能 無料アカウント Google Workspace アカウント
1 日あたりのメール受信者 100 / 日 1,500 / 日
ドメイン内の 1 日あたりのメール受信者 100 / 日 2,000 人 / 日
メールの読み取り/書き込み(送信を除く) 20,000 / 日 50,000 / 日
メール添付ファイル 250 個 / 通 250 個 / 通
メール本文のサイズ 200 KB / メッセージ 400 KB / メッセージ
メールあたりのメール受信者数 50 / 通 50 / 通
メールの添付ファイルの総サイズ 25 MB / メッセージ 25 MB / メッセージ
GoogleMap制限 機能 無料アカウント Google Workspace アカウント
静的マップのレンダリング 1,000 人 / 日 10,000 人 / 日
Google マップの方向のクエリ 1,000 人 / 日 10,000 人 / 日
Google マップのジオコードの呼び出し 1,000 人 / 日 10,000 人 / 日
Google マップの高度サンプルのクエリ 1,000 人 / 日 10,000 人 / 日


参考

GASをTypeScriptで使う方法 | yagshi's website
https://www.oit.ac.jp/rd/labs/kobayashi-lab/~yagshi/articles/gasts/
GASにおける各種制限のまとめ #GoogleAppsScript - Qiita
https://qiita.com/kakakaori830/items/84a7dcba2d6119ed320a

ジェネリック・ライブラリ

ライブラリと紐づけるIDは、スクリプトIDのほかプロジェクトキーがある。
自身のGASライブラリに登録するのはスクリプトIDのほう。
ライブラリ名 概要 スクリプトID
Day.js 日時計算 1ShsRhHc8tgPy5wGOzUvgEhOedJUQD53m-gd8lG2MOgs-dXC_aCZn9lFB
SSheetDB スプレッドシートをDB的に扱う 1m-mnNjwCIxUCgoZxTeHpvICFyntLCs52IjSxfHGA-6MbBiym441opQ21
Underscore.js 配列、オブジェクトの操作 1PcEHcGVC1njZd8SfXtmgQk19djwVd2GrrW1gd7U5hNk033tzi6IUvIAV
BetterLog ログ出力 1DSyxam1ceq72bMHsE6aOVeOl94X78WCwiYPytKi7chlg4x5GqiNXSw0l
ImgApp 画像リサイズ 1T03nYHRho6XMWYcaumClcWr6ble65mAT8OLJqRFJ5lukPVogAN2NDl-y
Parser スクレイピング 1Mc8BthYthXx6CoIz90-JiSzSafVnT6U3t0z_W3hLTAX5ek4w0G_EIrNw
JsonDB jsonをDBライクに使う 1GavkBlPnlyz4uu7GjgczEhsk5SyHOcQPPNQ_67AK-to3ii8X0i0T9MX4
Cheerio スクレイピング 1ReeQ6WO8kKNxoaA_O0XEQ589cIrRvEBA9qcWpNqdOP17i47u6N9M5Xh0



GoogleApp連携

Form2Spread

(仮置き)

Spread2Spread

(仮置き)

Spread2Gmail

(仮置き)

Spread2GoogleChat

(仮置き)

Spread2gChatTask

(仮置き)

Spread2gCalendar

(仮置き)

タグ:

GoogleAppsScript gas
最終更新:2024年08月05日 17:30