【GASを0から勉強】Google Apps Script(GAS)とは?「GAS」で実現できることについて徹底解説

Google Apps Script(GAS)は、Googleのさまざまなサービスを自動化し、ビジネスやプロジェクトの効率化に役立つ強力なツールです

  • そもそもGAS(Google Apps Script)ってなんだろう…
  • GASを使って、仕事を効率化したい!

GASは、環境構築がいらず、基本言語がJavaScriptで構成されているため、初心者におすすめのプログラミング言語なのですが、「何から始めたらいいの?」とお悩みの方もいるかと思います

この記事の執筆者について
  • GASの人
  • ITベンダSEとして12年勤務する中で民間、金融、官公庁の現場を一通り経験済
  • 現在は公務員をやりながら起業に向けて着々と準備中
GASなら任せろ!
こーすけ先生

そこで、本記事では実際に仕事でGASを扱っている私が、このような悩みを抱えている方に向けて、GASについて解説していきたいと思います!

この記事を読めば、GASとは何かを学びを深められること間違いなしです!
では、さっそく解説していきたいと思います

目次

GASとは?

このサービスを端的に言うと、GoogleスプレッドシートやGoogleドキュメントといった各種サービスの自動化や、様々なWeb APIとの連携を行うことのできる、Googleが提供する統合開発ツールです。

がすぴょん

そもそも「GAS」って何なの?

こーすけ先生

GASとはGoogle Apps Scriptの略語のことだよ

GASとはGoogle Apps Scriptの略語です
(※以下、本記事では「GAS」と表記)

こーすけ先生

GASについて解説する前に、まず「Google Workspace」と「API」について解説します

Google Workspace

Google Workspace(グーグルワークスペース)とは、Gmail、Googleドライブ、Googleフォームなどの多様なツールがパッケージされたGoogle社が提供するビジネス向けのクラウド型グループウェアサービスのことです

世界中のどこにいても、同じクラウド上で仕事をすることができ、データは安全にクラウド上で管理され、デバイスや場所を選ばずにアクセスできるという優れものです

Google Workspaceのクラウドサービス一例
  • Gmail
  • Googleドライブ
  • Googleフォーム
  • Googleカレンダー
  • Googleスプレッドシート
がすぴょん

あっ僕も使っているサービスがある!

こーすけ先生

社会人なら、ビジネスの場で一度は使ったことがあるんじゃないかな?

「Google Workspace」という言葉に耳馴染みがないかもしれませんが、実は誰もが一度は使ったことがある便利なツールなんです!

そして、「GAS」とは、Google Workspaceとの相性が抜群に良いんです!
「GAS」をマスターすれば、Googleスプレッドシートの自動化、Googleドライブ内のファイル整理等の業務効率化が図れます


API

APIとは「Application Programming Interface」の略語で、事前に定義した形式に従って「リクエスト」することで「レスポンス」を返す仕組みを指します

特にWeb APIでは、HTTPやHTTPSというプロトコル(通信の規約)を使用して情報のやり取りを行います

こーすけ先生

例えば、「東京駅」の郵便番号は「〒100-0005」なんだけど、「〒100-0005の郵便番号のAPIを確認する」というリンクをクリックすると、「〒100-0005」に紐づく住所の情報が得られます

〒100-0005の郵便番号のAPIを確認する

上記URLは、郵便番号(zipcode)を指定して、特定の郵便番号に関連する住所情報を取得するためのWeb APIへのリクエストです

例えば、通販サイトで郵便番号を入力すると、住所が自動入力された経験はありませんか?

それは、通販サイト側が、上記のような郵便番号検索APIを利用していて、ユーザーが郵便番号を入力することで、サイトはAPIを介して、事前登録された郵便番号と紐づく住所情報を取得し、フォームに自動的に記入しているのです

APIは、このように特定の情報を取得したり送信したりするために使用され、通常、プログラムやウェブサイト内でよく利用されています!

がすぴょん

なるほど!
でも「API」って「GAS」に何の関係があるの?

こーすけ先生

「GAS」のすごいところは、様々なAPIサービスと連携できることなんだ!

「GAS」で実現できること

「GAS」で実現できること
  • Googleの各種サービスとの連携
  • Web APIを用いてGoogle外のサービスとの連携
  • Webアプリケーションの構築やライブラリの構築
こーすけ先生

順番に解説していきます

Googleの各種サービスとの連携

GASはGoogleが提供するだけあり、Googleの各種サービスとの相性は言うまでもありません

例えば、ExcelマクロのようなGoogleスプレッドシートの自動化、Googleドライブ内のファイル整理など、サービス単独はもちろん、複数サービスを組み合わせて業務の効率化を行うことができます

こーすけ先生が過去に行った事例
  • スプレッドシートで作成した在庫台帳から在庫不足となると自動で発注メールを送信
  • Googleドライブの特定フォルダにファイルがアップロードされると管理者あてにメールを送信
  • Googleフォームの回答送信をトリガーに集計用のスプレッドシートに転記しリアルタイム集計
  • Googleフォームの回答送信をトリガーにカレンダーにスケジュール登録。当該時間の予約枠が埋まり次第、フォームを更新
こーすけ先生

あれできないかな、これできないかなと思ったことは「GAS」を使えば大抵できます

Web APIを用いてGoogle外のサービスとの連携

GASは外部ウェブAPIと連携でき、データの収集、処理、表示が可能です

この機能をGASで活用することで、たとえば、ウェブアプリケーションを作成し、ユーザーが郵便番号を入力すると、その場で該当する住所情報が表示されるようなサービスを提供できます

GASはJavaScriptをベースに作られており、 UrlFetchApp クラスを用いることで外部サービスと連携することができます

例えば、先ほど例に出した住所情報を取得したい場合、以下のように住所情報をJSONデータとしてGASの中で扱うことができます

function main() {
  let response = UrlFetchApp.fetch('https://zipcloud.ibsnet.co.jp/api/search?zipcode=1200034');
  /**responseの中身
    {
      "message": null,
      "results": [
      {
        "address1": "東京都",
        "address2": "千代田区",
        "address3": "丸の内",
        "kana1": "トウキョウト",
        "kana2": "チヨダク",
        "kana3": "マルノウチ",
        "prefcode": "13",
        "zipcode": "1000005"
      }
      ],
      "status": 200
    }
  */
  let resJson = JSON.parse(response.getContentText());
  console.log(resJson['results'][0]['address1']);
  console.log(resJson['status']);
}
//実行結果
東京都
200
こーすけ先生

外部APIをGASと組み合わせることで、自分のプロジェクトやウェブアプリケーションに外部データを取り込むことができ、データの収集と処理が簡単になります


Webアプリケーションの構築やライブラリの構築

GASではスクリプト(.gs)とHTML(.html)の2つのファイルを作成することができ、フロントエンド部をHTMLバックエンド部をスクリプトが担うことで、Webアプリケーションを構築することが可能です

また作成した部品群をライブラリとしてデプロイすれば別のGASファイルから利用することもできます

さらに、GASで作成したWebアプリケーションはGoogleのサーバ(ドメインは script.google.com )上にデプロイされるため、追加でサーバを用意する必要はありません。私はこれまでGASを用いて小規模なWebアプリケーションを50本以上リリースしましたが、一切費用が発生していません

こーすけ先生

こんなサービスが無料で使えるなんて冷静に考えて頭おかしい…笑

ただし、無償ゆえの制約事項は少なからずあります
(詳細は次回以降に解説していきます)

簡単なWebアプリケーション構築の一例

パスワード文字数や、使う記号、何個作るか等…ランダムにパスワードを生み出せるという簡単なWebアプリケーションです

こーすけ先生

これくらいのアプリケーションであれば30分程度でデプロイまで完了することができます!お手軽!

GAS×APIでできること

こーすけ先生

API連携をフル活用して、LINEチャットボットを作ってみました!

こーすけ先生

「API連携でこんなこともできるのか!」と体感できると思います
無料なので気軽に友だち登録して遊んでみてください

イメージ図

ユーザーからのリクエスト内容に応じて、リアルタイムで処理を行うことができます!
やっぱり、GASはすごいぜ!

こーすけ先生

GASを利用すれば、LINEチャットボットのような応答型アプリケーションを容易に構築することができます!

GASでできないこと

がすぴょん

逆にGASでできないことってあるの?

こーすけ先生

う~ん
GASで、できないのはこんなカンジかな

GASでできないこと
  • 長時間かかるような処理
  • 複雑なデスクトップアプリケーション開発
  • ローカルファイルへのアクセス

GASは一回の処理に対して6分間までという実行制限があるため、長時間かかる処理には向きません

例えば、複雑な科学計算やビデオレンダリングなど、処理に時間がかかるタスクはGASで実行するには制約が多すぎます 長時間かかる処理が必要な場合は、別のプラットフォームやツールを検討することが重要です

GASはクラウド上ですべての処理を実行するため、ローカルファイルへのアクセスはできません

こーすけ先生

無償がゆえの実行制限はありますが、中小規模アプリケーションならば気にする必要がないレベルのものです

まとめ

「そもそもGASって何?」という疑問に対して、GASの可能性活用事例起動の仕方など、GASのコーディング方法よりも知識を重点的に解説してみました

次回以降ではGoogleの各種サービスへのアクセス方法はもちろん、GASの制約事項といった知識も交えながらお伝えします!

こーすけ先生

X(旧:Twieer)にて、ブログの更新やQiita記事の更新、GAS情報をお届けしますので、是非フォローしてください!

100日後に起業する公務員

こーすけ先生

退職までの漫画をゆるくXにて更新中!
是非フォローしてね!

この記事が気に入ったら
いいね または フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

GASの人。ITベンダSEとして12年勤務し、民間、金融、官公庁の現場を一通り経験済。html、css、JavaScript、Java、PHPも分かります。最近は専らGASで小規模アプリケーションを頻繁に作成しています。GASのことなら何でもお任せあれ!現在は公務員として働きながら、起業に向けて着々と準備中です!

コメント

コメントする

CAPTCHA


目次