😎

Google Apps Script で面倒な作業を減らそうや

2020/10/08に公開

Google Apps Scripr

Google Apps Script とは?

Google Apps Script (通称 GAS (読み: ガス), 以下 GAS) は, Google が提供する各種アプリケーション "Google Apps" (たとえば Gmail, Google ドライブ) の操作に特化したスクリプトおよびその開発環境です.
GAS は Google サーバ上で実行されるサーバサイドスクリプトの一種で, コードの記述には JavaScript が用いられます.
標準の JavaScript に加え, Google Apps を操作するための独自のクラスを搭載しています.
GAS で操作できる Google のアプリケーションは以下の通りです.

  • Calendar (カレンダー)
  • Contacts (連絡先)
  • Data Studio (データスタジオ)
  • Document (Google ドキュメント)
  • Domain (ドメイン | G Suite 用)
  • Drive (Google ドライブ)
  • Forms (Google フォーム)
  • Gmail
  • Groups (Google グループ)
  • Language
  • Maps (Google マップ)
  • Sites (旧 Google サイト)
  • Slides (Google スライド)
  • Spreadsheet (Google スプレッドシート)

【参照】
Reference overview  |  Apps Script  |  Google Developers

GAS はブラウザ上のエディタで編集・設定・実行することができます.
(※ローカルで ES6 や TypeScript で編集して変更をプッシュすることも可能.)

Web エディタで GAS をはじめる

ブラウザから script.google.com にアクセスすると G Suite Developer Hub が表示されます. Google アカウントへのログインを求められた場合は画面の支持に従いログインするしてください.
これは現在のアカウントに存在する GAS のプロジェクトの一覧です. 初めて GAS を使用する際にはリストは空です.

プロジェクト一覧

画面左上の [+ 新しいプロジェクト] をクリックして新しい GAS プロジェクトを作成します. "無題のプロジェクト" という名前のファイル名で新しい GAS プロジェクトが作成され, 新しいタブでエディタが開きます.

新規スクリプト

まずは Hello World でご挨拶

プログラマの挨拶をしましょう. エディタには既に関数 myFunction が定義されています. "Hello World" を表示するコードをこの関数に記述しましょう. GAS エディタ上でのログへの出力は以下のように記述します.

コード.gs
function myFunction() {
    Logger.log("Hello World");
}

保存します. 保存時にプロジェクト名を要求されるので適当に入力してください. 保存は画面上のアイコンおよびショートカットキー [Ctrl / Command] + [S] で行なえます.

保存が完了したら早速実行してみましょう. ナビゲーション上のプルダウンメニューにて myFunction が選択されていることを確認の上, 実行ボタン (再生アイコン) をクリック, またはショートカットキー [Ctrl / Command] + [R] で実行します.
画面上部に実行中のダイアログが表示されます. それが消えれば正常に実行が終了しました. 赤いダイアログが表示された場合には, 構文エラーが存在するかもしれませんのでエラーメッセージをもとに修正し, 再度実行してください.

ナビゲーションの [表示] > [ログ] またはショートカットキー [Ctrl / Command] + [Enter / Return] でログを表示します. "Hello World" が表示されていれば成功です. ようこそ Google Apps Script へ.

Hello World 実行結果

まとめ

  • Google Apps Script (GAS) は Google サーバ上で実行されるサーバサイドスクリプト
  • Google のいろんなアプリケーションを簡単に操作できる
  • エディタはブラウザから利用できる
  • Logger クラス log メソッドでエディタ上のログに記録できる.

Discussion