Google Apps Script(GAS)の使い方を初心者向けに解説!
Google Appsの機能を利用したアプリケーションを開発するためにGoogle Apps Script(GAS)という言語があります。
Google Appsとは、GmailやGoogleドライブなどのGoogle製のWebサービスのことです。
GASを使うことで、このGoogle Appsの機能を組み合わせたり連携させることが可能に。
業務効率を上げられるアプリケーションを開発することができます。
この記事ではGASの使い方や、具体的なアプリケーション例を解説しましょう。
初めに、Google Apps Scriptの説明などもあります。
Google Apps Scriptの使い方を知りたいという人は「GASの使い方」から読み進めてください。
Google Apps Script とは
Googleが開発したプログラミング言語
Google Apps Script(GAS)は、Googleが提供するプログラミング言語です。
Google製のサービス(Google Apps)を利用するために利用します。
様々なGoogleのサービスの機能を使ったり、連携させて独自のwebアプリケーションを開発することができます。
GASはJavaScriptベース
GASはWeb開発でよく使われるJavaScriptをベースに、Google独自のオブジェクト(API)を追加したものです。
そのため、JavaScriptを使っている方は簡単に使いこなすことができるでしょう。
また、JavaScriptはある程度のレベルまでなら習得難易度が比較的低い言語といわれています。
そのためGASはJavaScriptを使ったことがない人でも手を出しやすい言語です。
GASの特徴
GASはJavaScriptをベースにした言語ですが、一般的なJavaScriptとは少し異なる特徴があります。
一般のJavaScriptと違う点
GASはJavaScriptベースですが、一般のJavaScriptと全く同じというわけではありません。
使えない機能もあります。
具体的には、Webブラウザに用意されているAPIが使えないのです。
これは、GASがGoogleのサーバで実行されることが理由です。
そのため、これまでJavaScriptを使っていると「あれ、このAPIは使えないの?」となることが出てきてしまいます。
その場合はブラウザのAPIである可能性が高いので、GASで用意されている他のAPIで代用できないかを探すと良いでしょう。
GASはサーバサイドスクリプト
通常JavaScriptはクライアントサイドスクリプトであり、そのスクリプトはWebブラウザ上で実行されます。
そのため、「alert」や「Window」といったブラウザに用意されたAPIを利用することが可能です。
一方でGASはサーバサイドスクリプトとなります。
Googleのサーバ上でスクリプトが実行され、その結果がWebブラウザに表示される仕組みです。
よって、一般のJavaScriptのようにブラウザに用意されたAPIは利用できません。
この特徴を知っていれば「使いたいAPIが使えない」という状況になっても悩むことも少なくて済むため、頭に入れておいてください。
GASでできること
GASがGoogle Appsの機能を使ってアプリケーションを開発できることを解説しました。
では、GASを使うことで業務効率化を行うためにどんなことが実現できるのでしょうか。
GASを使った開発を行うときに、まずは何を実現したいのかをイメージしなければいけませんので、具体的な例を見てみましょう。
Google Appsの例
まず、GASで利用することのできるGoogle製のサービスにはどんなものがあるのでしょうか。
Google製のサービスとは、例えば以下のようなものです。
- Gmail
- スプレッドシート
- GoogleDrive
- Google翻訳
- Googleドキュメント
- Googleカレンダー
- Google Maps
人によってはよく使っているサービスもいくつかあるのではないでしょうか。
GASはこのようなGoogle Appsの機能を呼び出したり連携させて、普段の業務を自動化したりすることができるのです。
普段利用しているサービスがあるのなら、まずはそのサービスの機能を使っていくことを検討してみることをオススメします。
こうすることで、開発したいアプリケーションの機能が考えやすくなるのです。
Webアプリの開発も可能
GASの開発環境では、HTMLやCSSも記述できます。
そのため同時にWebサイトの開発も行なってしまえば、Webアプリとして公開することが可能なのです。
GASで開発を行ったときにURLが発行されるので、それを共有すれば誰でもそのWebアプリにアクセスして利用することができます。
Webアプリとして開発を行った場合、例えば日程調整ツールや情報共有ツールなどを開発することが可能です。
Google以外のWebサービスとも連携可能
GASはGoogle Appsの連携のための言語です。
しかし、Google AppsとGoogle以外のWebサービスを連携させることもできます。
GASのスクリプトで、各サービスのAPIを利用すればよいのです。
具体的には、以下のようなサービスと連携できます。
- Chatwork
- LINE
- IFTTT
- Slack
このようなサービスを業務で使っている場合、そのサービスと連携させてみましょう。
さらに幅広い機能を実現することができるでしょう。
例えばLINEと連携してチャットボットを作る、Twitterと連携して特定のツイートをSlackに投稿といったことができます。
GASを使った業務効率化の具体例
それでは、GASを使って作業の自動化などを行う具体例をもう少しご紹介します。
ご自身でアプリケーションを開発する参考にしてみてください。
- 海外から英語でGmailが送られて来たら、Google翻訳で日本語に自動変換してGoogleドライブを保存
- スプレッドシートで業務実績の管理をしている場合、決まった時間に業務実績が入力されてなければGmailで催促
- 毎朝、Gmailでカレンダーに記載された当日の来客予定のリマインドを送る
このようなアプリに他のサービスも連携させることができれば、さらに様々なことが自動化できるようになるでしょう。
GASで何が実現できるか悩んだら
ここまで、GASでできることや業務効率化に向けた具体例を紹介しました。
しかし、もしかしたらまだ自分で開発するアプリケーションのイメージが湧かないかもしれません。
そのような場合は、まず自分で現在利用しているGoogle Appsで何をしているかを考えてみると良いでしょう。
Google Appsを使って定期的に同じような作業をしているなら、その作業を自動化してみると良いのではないでしょうか。
作業の効率が格段に上がります。
例えばGmailを利用していたとしましょう。
特定の相手から添付ファイル付きメールが来た時にGoogleドライブに保存して共有するという作業を実現できます。
その場合GmailとGoogleドライブの機能を連携させてスクリプトを記述。
後は自動的に添付ファイル共有までしてくれます。
まずは現在利用しているGoogle Appsと、それを使った作業を羅列して考えてみましょう。
GASを利用するための環境
次に、GASを使うために必要な環境についてご紹介します。
GASの開発に必要なもの
結論からいうと、GASの開発に必要なのはGoogleアカウントとWebブラウザのみです。
GASではなく他の言語でWebアプリの開発を行う場合は、エディタなどを含んだ統合開発環境の構築や、独自にサーバを用意するといった作業が必要です。
しかしGASであれば、Webブラウザで動かすアプリケーション上に開発環境・実行環境が用意されています。
サーバもGoogleが用意したものを利用します。
そのためGoogleアカウントを使ってログインさえできれば良いということです。
基本的に無料だが制限もある
また、GASの利用は基本的に無料です。
そのため、まず初めてみるという段階で障壁はほぼ無いでしょう。
ただし、無料で使える代わりに制限があります。
例えば無料のGoogleアカウントで自動でカレンダーを作成するシステムを作った場合。
作成数が1日5000個を超えるとエラーとなってしまい、Gmailも100通を超えると制限に引っかかります。
Googleアカウントの制限はGASにも適用されるので注意しましょう。
GASのメリット
続いて、GASを利用するメリットをまとめます。
GASを利用するうえで「環境構築が簡単」というのは大きなメリットです。
GASは、GoogleアカウントとWebブラウザさえあれば利用することができます。
開発環境の構築や独自のサーバを立てる必要もないため、とても手軽に開発を進めることができます。
また、環境の利用が無料というのも嬉しい要素。
開発環境の利用や、サーバの利用など無料で行うことが可能です。
まずGASでアプリ開発を試してみたいという場合にもハードルが低く、始めやすいでしょう。
そして、GASはローカルPCの電源がOFFでも実行可能です。
GASで開発したアプリケーションはGoogleのサーバ上で実行されます。
そのため、ローカルPCの電源をOFFにしているときでも実行可能です。
深夜も含めて定期的に動くbotを作って実行する場合なども便利です。
また、既にGoogle Appsを利用している人には開発がやりやすいといえるでしょう。
GASで機能を扱うGoogle Appsはもともと業務で利用している人も多いです。
その場合、手作業で行っていた処理を自動化するということの実現が容易。
簡単に業務効率を上げることができるでしょう。
これをきっかけに他のアプリケーション開発もしやすくなります。
外部とのWebサービスとも連携可能なので、より幅広い機能を実現できます。
GASスクリプトの作成
特徴が分かったところで、GASの始め方を説明していきます。
簡単な方法として、GoogleスプレッドシートからGASのスクリプトを作成してみましょう。
まずは、GASのスクリプトを書くためのエディタを表示して、スクリプトを書く準備まで解説します。
Googleスプレッドシートからエディタを起動
まずは、Googleドライブをブラウザで開きましょう。
Googleドライブの「新規」をクリックし、Googleスプレッドシートを選択します。
スクリプトエディタを開く
スプレッドシートを開いたら、ブラウザ上部のメニューにある「ツール」から「スクリプトエディタ」を選択しましょう。
function myFunction() {
}
という文字が書かれたページが開きます。
プログラムは「myFunction() {」の後ろからに書き始めましょう。
また、ページ上部の「無題のプロジェクト」にはプロジェクト名を入れておくと見分けがつきやすいです。
Standalone
上記で紹介したのは、「Container Bound」というドキュメントと連携させるGASの始め方でした。
スプレッドシートやGoogleのドキュメントなどと連携して使うことができます。
しかし、Webアプリを使うのであればもう一つの方法であるStandaloneの方がオススメです。
Standaloneでの始め方
StandaloneもGoogleドライブで「新規」をクリックするところまではContainer Boundと同じ手順となります。
「新規」から「その他」を選び、「Google Apps Script」を選択しましょう。
初めてStandaloneでGASを使う場合
「その他」から見た時、「Google Apps Script」がなくて慌ててしまった人もいるのではないでしょうか。
それは今までStandaloneでGASを使ったことがないためです。
Standaloneはデフォルトで搭載されていません。
そんな時はプルダウンメニューの一番下にある「アプリを追加」を選びましょう。
アプリが一覧で表示されるので、その中にあるGoogle Apps Scriptの「接続」を選択。
これでStandaloneでGASを始めることができるようになります。
GASの使い方
準備が整ったところで、GASを使ってプログラミングをしてみましょう。
functionについて
新規スクリプトを開くと、「function myFunction() {」というスクリプトが最初から入力されています。
この「myFunction」は関数の名前です。「{」と「}」の間に命令したいコードを記述しましょう。
ステートメントの入力
ステートメントとは、コンピューターに出す命令のことです。
一例としてスプレッドシートに「Hello World」を表示させるコードを書いてみましょう。
コードは
function myFunction(){
Browser.msgBox(“Hello World”);
}
という構成で書きます。
基本的にどのコードでも入力の仕方はほぼ同じです。
書けたら必ずコードを保存しておきましょう。
プログラムを実行する
プログラムを実行させるには、メニューバーにある再生ボタンをクリックします。右を向いた黒い三角マークが目印です。
初めてGASを使う場合は、承認を求められますので「許可を確認」を選びましょう。
すると「このアプリは確認されていません」と出てしまいますが、その場合は「詳細」を押してください。
確認されていないと出るのは、そのアプリが先程自分で作ったものだからです。
作ったばかりのものなら、確認されなくてもおかしくありません。
「プロジェクト名(安全ではないページ)に移動」をクリックして許可のボタンを押せばプログラムを実行できます。
実行した時、メッセージボックスのWindowに「Hello World」と表示されていれば成功です。
個人開発ならGASがオススメ
GASの使い方やメリット、注意点を上げてみました。
環境構築の必要もなく、簡単に始められます。個人などの小規模開発にはかなりオススメです。
当たり前ですがGASを使えば何でも実現できるわけではありませんし、やりたいことによっては他の言語を使った方がいい場合もあります。
本来の目的と照らし合わせて、上手くGASを使っていきましょう。