Google Apps Script(GAS)とは?

Google Apps Script(以下 : GAS)とは、我々が毎日の仕事で使うGmail、スプレッドシート、Googleスライド、カレンダー、フォームなどをカスタマイズするためのプログラミング言語です。

GASを使うことで、Googleアプリ(Gmail、スプレッドシート、Googleスライド、カレンダー、フォームなど)を定期的に自動実行したり、他のSlackやMicro soft Teams、チャットワークなどの外部ツールと連携してよりカスタマイズして使ったりすることができます。

Excelのマクロを使ったことがある方は、そのGoogle版だとイメージすると分かりやすいかもしれません。

読み方は「グーグル アップス スクリプト」頭文字を取ってGAS(ガス)と呼ばれることが多いです。

GASは、Googleアカウントを持っていれば誰でも無料で使うことができます。

Google Apps Scriptの特徴

  • JavaScriptベースのプログラミング言語である
    JavaScriptは、webの世界では非常によく知られたプログラミング言語なので、すでにプログラミングに詳しいエンジニアの人にとってGASは非常に理解がスムーズです。
  • Googleの提供するサービスとの相性が良い

    Gmailやスプレッドシートだけでなく、YouTube、Google Maps、Google AnalyticsなどもGooogle社が提供するサービスです。それらのデータとの連携も、GASでは非常にスムーズです。
  • 開発環境の構築が不要

    RubyやPythonなどのプログラミング言語では、黒い画面を叩いて環境構築する必要があるケースもあり、それが初心者にとって大きなハードルの一つです。GASはwebブラウザの上ですぐにコードを書き始めることができるので環境構築は一切不要となります。
  • 作りたいものをイメージしやすい

    過去にプログラミングスクールで勤務していた際に、成長が早い受講生とそうでない受講生の違いは「具体的にプログラミングで作りたいアプリやツールがあるか」というポイントが非常に大きな要素を占めました。

    「なにか人の生活に役立つアプリをつくるにはなにが良いか?」という問いよりも、「毎日触っているツールが自由にカスタマイズできるとすればどうするか?」という方がアイデアが湧きやすく、GASはそれを実現できるツールなので作りたいものをイメージしやすいのです。

以上から、GASはプログラミングの初心者の方にこそ、非常におすすめの言語になっています。

Google Apps Script対象サービス例

Google Workspaceのサービスですが対象は意外と幅広く、下記のすべてでGASは実行することができます。(参照は公式レファレンス

  • SpreadSheet
  • Drive
  • Gmail
  • Docs
  • Slides
  • Forms
  • Calendar
  • Admin Console (管理者向け)
  • Classroom
  • Contacts
  • YouTube
  • Google Groups
  • Google Sites (Classic)
  • Google Tasks
  • Google Analytics
  • Google Maps
  • Google Translate

Google Apps Scriptの始め方

無料で学べる動画講座が多くあります。

また、下記に3分で始められるGASの体験の仕方の流れを書きました。

Google Apps Scriptの始め方 ~具体的な手順~

今回は試しに、指定したサンプル文言のGoogleドキュメントを自動で新規作成し、そのドキュメントへのリンクをメールを現在のログインしているアカウントのGmailに自動送信するスクリプトを作ります。

  1. https://drive.google.com/drive/my-drive のURLにアクセスします。
  2. 左上の + ボタンから、その他→Google Apps Scriptを選択します。

  3. 新規プロジェクトが作成されます。(ロード時間が長い場合、そのURLをコピーして別のブラウザのタブで開き直すとうまくいきます。)
  4. すでに書かれているコードをすべて削除したあと、下記のコードをコピー&ペーストしてください。
/**
 * Creates a Google Doc and sends an email to the current user with a link to the doc.
 */
function createAndSendDocument() {
  try {
    // Create a new Google Doc named 'Hello, world!'
    const doc = DocumentApp.create('Hello, world!');

    // Access the body of the document, then add a paragraph.
    doc.getBody().appendParagraph('This document was created by Google Apps Script.');

    // Get the URL of the document.
    const url = doc.getUrl();

    // Get the email address of the active user - that's you.
    const email = Session.getActiveUser().getEmail();

    // Get the name of the document to use as an email subject line.
    const subject = doc.getName();

    // Append a new string to the "url" variable to use as an email body.
    const body = 'Link to your doc: ' + url;

    // Send yourself an email with a link to the document.
    GmailApp.sendEmail(email, subject, body);
  } catch (err) {
    // TODO (developer) - Handle exception
    Logger.log('Failed with error %s', err.message);
  }
}

画像は下記になります。ペーストした後は、②の保存のアイコンと「▷」の実行のアイコンを押して下さい。

Google_Apps_Script_step

6. 承認が必要なので、右下の「権限を確認」をクリックします

7. アカウントを選択します(何も表示されない場合、ブラウザのポップアップブロックがオンになっていないか確認してください)

「このアプリは確認されていません」というアラートが表示される場合は、gmail.comアカウントの仕様なので、気にせずに左下の「詳細」→「(安全ではないページ)に移動」をクリックして下さい。

8. 右下の許可をクリック。

9.するとコードが実行され、コード内で指定した通りの文言のファイル名、本文のドキュメントがメールボックスに届いているのが分かります。

GASのデメリットとは

Google Apps Scriptでは、実行の上限数が1日おきなどで決まっており、契約金額のプランに応じてその容量が変わります。
この1日あたりの容量のことは「クオータ(quota)」(日本語の意味は「割当て」)と呼ばれています。

追加で課金して契約プラン以上に容量を増やしたりすることはできません。(割当を増やす方法は契約プランをアップグレードするのみ)

超えた場合、1日の中で実行が止まってしまうのでご注意下さい。
もちろん、こちらの枠の中でうまくやる工夫もいくつかありますのでご安心を

下記にクオータのプランごとの例を掲載します。(引用元は公式サイト