【GAS】覚えておきたい制限・上限まとめ

GASgmail,GmailApp,GmailApp.search,UrlFetchApp,スプレッドシート

Google Apps Script(GAS)は業務効率化に役立つ無料ツールとして有用ですが、無制限に使えるわけではなく利用にあたって様々な制限事項があります。

例えば、スクレイピング対象のURL数が多く実行時間制限でエラーになってしまったり、それを回避しようとして分割してトリガーを設定していたらトリガーの実行回数制限に引っかかってしまうといった経験をしたことがある方も多いのではないでしょうか。

これらの制限にかかることなくスクリプトを実行できるように、予めどのような制限があるか理解して、制限にかからないように処理設計を行うことが重要です。

この記事では、GASにおける基本的な制限を解説します。記事の最後に表形式で制限をまとめているので参考にしてみてください。

すべての制限を確認したい方はこちら(公式サイト)をご覧ください。

GASの主な制限・上限

GASには大きく分けると下記のような制限があります。

  • 実行時間/実行回数制限
  • トリガーの制限
  • 各アプリケーションごとの制限

それでは各項目ごとの制限を見ていきましょう。

実行時間制限

GASスクリプト実行時間(6分/1回)

GASでは、1スクリプトの実行時間が6分間という制限があります。経験上、制約の中で引っかかってしまうエラーの大半はこちらの制限です。

6分以上になるとタイムアウトエラーが発生してしまい、処理の途中であろうと強制的に終了するので、処理時間が長いコーディングはなるべく避ける必要があるので注意しましょう。

スクリプトの実行時間は工夫次第で劇的に短縮することが可能で、例えば、データ処理時に配列を活用して実行に時間がかかるアプリケーションの呼び出し回数を減らすといった工夫ができます。詳細は下記の記事でも解説しているので是非ご覧ください。

GASの効率的な処理で重要な役割を果たす配列の操作方法は、下記の記事で詳細に解説しています。

関数の実行時間(30秒/1回)

スクリプト内で作成している関数の実行時間は1回あたり30秒に制限されています。

対象無料アカウントGoogle Workspace
スクリプトの実行時間6 分 / 実行6 分 / 実行
カスタム関数の実行時間30 秒 / 実行30 秒 / 実行
同時実行数30 / ユーザー30 / ユーザー

トリガー制限

処理の自動化のために時間等でトリガーを設定することも多いかと思いますが、このトリガーにも制限があります。

対象無料アカウントGoogle Workspace
トリガーの総実行時間90 分 / 日6 時間 / 日
トリガー数20 / ユーザー / スクリプト20 / ユーザー / スクリプト

各アプリケーションの制限

実行時間やトリガー数等はGAS実行環境全体にかかる制約でしたが、スプレッドシートやGmail等のアプリケーションと連動して処理を実行する際、取り扱うアプリケーションにも制約があることも念頭に置いておく必要があります。代表的な制限を簡易的にご紹介します。

UrlFetchApp

スクレイピング、サイト分析を行うために記述するのがUrlFetchAppクラスのfetchメソッドです。

  • URL Fetchレスポンスのサイズ(50MB/1コール)
  • URL Fetchのコール回数(20,000回/1日)

UrlFetchAppの基本的な使い方やUrlFetchAppを使ったスクレイピング方法は下記の記事で紹介しています。

対象無料アカウントGoogle Workspace
URL Fetchのコール数20,000 / 日100,000 / 日
URL Fetchのレスポンスサイズ50 MB / コール50 MB / コール
URL Fetchのヘッダー数100 / コール100 / コール
URL Fetchのヘッダーサイズ8 KB / コール8 KB / コール
URL Fetch POSTのサイズ50 MB / コール50 MB / コール
URL Fetch URLの長さ2 KB / コール2 KB / コール

Gmailの制限

Gmailスレッドの取得や送信等の処理を行えるGmailAppにも制限があります。

  • メール受信者数 100/日
  • メール読み書き 200,000/日
  • メール受信者数 50/msg
  • メール本文サイズ 200kB/msg
  • 添付ファイル 250/msg

対象無料アカウントGoogle Workspace
メール添付250 / メッセージ250 / メッセージ
メール添付メールの本文サイズ200 KB / メッセージ400 KB / メッセージ
メール受信者数50 / メッセージ50 / メッセージ
メール添付のサイズ25 MB / メッセージ25 MB / メッセージ
メール受信者数100* / 日1,500* / 日
メールの閲覧・作成20,000 / 日50,000 / 日

その他の制限

対象無料アカウントGoogle Workspace
カレンダーイベントの作成数5,000 / 日10,000 / 日
コンタクトの作成数1,000 / 日2,000 / 日
文書の作成数250 / 日1,500 / 日
ファイルの作成数2,000 / 日4,000 / 日
一つのドメイン内でのEメール受信者100* / 日2,000 / 日
プレゼンテーションの作成数250 / 日1,500 / 日
プロパティの閲覧・作成50,000 / 日500,000 / 日
スライドの作成数250 / 日1,500 / 日
スプレッドシートの作成数250 / 日3,200 / 日
翻訳のコール5,000 / 日20,000 / 日
Apps Scriptプロジェクトの作成50 / 日50 / 日
プロパティ値のサイズ9 KB / 値9 KB / 値
プロパティの総サイズ500 KB / プロパティストア500 KB / プロパティストア

GASの制限は有料版でもなくならない

課金すれば制限を解除できるのかと疑問を持つかもしれませんが、GASの制限は有料版でも消えません。

無料のGoogleアカウントではなく、アップグレードした有料のGoogle WorkspaceでもGASは使えますが、制限は健在です。

まとめ

GASは、無料で利用ができ、かつスプレッドシートデータを処理できたり用途も広いためる、非常に便利なツールです。今回紹介したような実行にあたっての制限を理解して、より良い業務効率化を図っていきましょう。

この記事を書いた人

てつお
広告代理店出身、事業会社でWebマーケティングや開発の仕事をしている26歳です。プロフィール詳細はこちら
■Google広告認定資格|Google アナリティクス個人認定資格(GAIQ)|TOEIC920点