トップGASで自動化する

操作手順本文

GASで自動化する

情報この手順でできるようになること

(参考) ツール紹介で紹介したGAS(Google Apps Script)を、実際に手元で動かすための手順です。ブラウザのスクリプトエディタにコードを貼り付ける方法に加えて、claspというツールを使い、Claude CodeのようなAIエージェントに直接コードを書かせてGoogleへ反映する方法まで進めます。

2つの進め方:ブラウザに貼るか、AIとclaspに任せるか

GASのコードを用意する方法は大きく2つあります。

  • ブラウザのスクリプトエディタに貼る:AIが書いたコードをコピーして、script.google.comの編集画面に貼り付ける方法です。1回きりの単純な自動化ならこれで十分です
  • AIに指示してclaspで反映する:Claude CodeやCursorのような、パソコンを操作できるAIエージェントを使っている場合の方法です。「〇〇するGASスクリプトを書いて」と頼むだけで、コードの保存からGoogleへの反映まで一気に任せられます。コードがファイルとして手元に残るので、Gitでの変更管理や複数ファイルの一括編集もしやすくなります

普段からClaude Codeなどのエージェントで作業している場合は、clasp経由のほうが結果的に手間が減ります。単発の自動化を1つだけ作るなら、ブラウザに貼るだけで十分です。

claspとは

claspは、Googleが公式に配布している、GASをコマンドラインから操作するためのツールです(Command Line Apps Script Projectsの略)。ローカルで書いたコードをコマンド一つでGoogleのサーバーへアップロードしたり、逆にGAS側の最新コードを手元に取り込んだりできます。私自身も、受信メールの要約を毎朝配信する仕組みをGASで動かしていて、コードを直すときはclaspでclone→編集→pushする形で管理しています。

導入手順

環境構築そのものもAIに任せられます。人間が必ずやるのは、ブラウザでの2箇所の操作だけです。

  1. Claude CodeのようなAIエージェントに「claspを導入して、GASを操作できるようにして」と頼みます。Node.js(CLIをインストールすると同じく18以上が必要)の確認から、npm install -g @google/claspの実行まで進めてくれます
  2. Google Apps Script ユーザー設定を開き、「Apps Script API」をオンにします(ここはブラウザでの手動操作が必要です。忘れると次のログインでエラーになります)
  3. AIにclasp loginを実行してもらい、開いたブラウザ画面で自分のGoogleアカウントにログインします(アカウント認証なので、ここも人間の操作が必要です)

ここまでで、AIエージェントからGASを操作する準備が整います。

使い方

普段の制作では、この2つだけでほぼ完結します。

① 新しいGASプロジェクトを作る

AIに「GASの新しいプロジェクトを作って」と頼めば、clasp createコマンドで作成してくれます。種類は用途に応じて選びます(スプレッドシート連動ならsheets、単体のスクリプトならstandalone)。

② AIにコードを書かせて反映する

「毎朝7時にGmailの未読を集計して通知するGASスクリプトを書いて」のように頼むだけです。コードを.jsまたは.gsファイルとして保存し、clasp pushでGoogle側へ反映するところまで、AIが一気に進めてくれます。反映したスクリプトをブラウザで確認したいときも、「開いて」と頼めばclasp openで直接開いてくれます。

固有情報はスクリプトプロパティで管理する

APIキーやスプレッドシートのID、Webhook URLのような固有情報は、コードに直接書き込まず「スクリプトプロパティ」というGAS側の保管庫に保存します。コードからはPropertiesService.getScriptProperties().getProperty('キー名')のように呼び出すだけで、値そのものはコードに残りません。clasp経由でコードをGitやAIに共有する場合、特に徹底しておきたい習慣です。

設定はGASエディタの「プロジェクトの設定」画面から手動でもできますが、clasp単体には専用の編集コマンドがありません。Claude CodeのようなAIエージェントに「スクリプトプロパティに◯◯を設定して」と頼めば、設定用のコードを実行して反映してくれます。

⚠️ つまずきやすいポイント

  • --rootDirを指定し忘れると余計なファイルまでアップロードされる:プロジェクトフォルダに関係ないファイルが混ざっていると、そのまま一緒にpushされてしまいます。GAS用のフォルダは専用に分けておくと安全です
  • 反映しただけでは自動実行が始まらないclasp pushはコードを反映するだけです。「毎朝7時に実行する」のような時間トリガーは、GASエディタの「トリガー」画面から別途設定します(コード内でScriptApp.newTrigger()を使って設定することもできます)
  • Googleの外との連携は苦手(参考) ツール紹介でも触れている通り、GASの守備範囲はGoogleサービス内が中心です。外部サービスをまたぐ自動化は、n8nのほうが組みやすい場面もあります