【入門】Google Apps Script

Google Apps Scriptとは

https://developers.google.com/apps-script/

Google Apps Script(略してGAS)はGoogle社が提供しているサーバーサイドスクリプト言語で、
Gmail、SpreadSheetなどGoogle社が提供している様々なサービスと連携し処理をすることができるものです。スクリプトはJavaScriptを使って作成できるので、プログラムをいじったことがある人にとってはそんなに難しくはない(はず)です。

特徴としては、

  • 認証設定の実装をせずにGoogle社が提供するサービスを処理できる
  • 専用の処理サーバを用意する必要がない
  • 利用費用が無料

つまり、Googleのアカウントさえ持っていればお金をかけずにでサーバレスの環境を入手でき、Google社の様々なサービスとの連携・自動化ができるということです!

GASでなにができるか

  • Gmail
    • メールの送信受信
    • メールの処理
  • カレンダー
    • 予定の取得、登録
  • Drive
    • フォルダーやファイル操作
    • SpreadSheetやDocsの編集

このようにGoogle社の提供している様々なサービスの連携することができます。しかもこれはほんの一例です。

作成したスクリプトは、「操作が行われたときのイベントごと」や、「cronのような時間ごと」でも実行可能です。つまり、「1日1回のメール送信やカレンダー情報を取得して今日の予定を通知」といったことや、「スプレットシートに自分オリジナルの関数を仕込む」のようなことも簡単にできてしまいます。
またこのほかにも、Google社が提供しているマップや翻訳等といったサービスとも連携することもできます。

これだけでも十分すごいのですが、SlackやTwitterなど外部APIを利用して連携することもできるのです!なので、「スプレットシートに書いてある内容を定期的にTwitterにつぶやくbot」や「特定のメールを受信したら、Slackに通知が来る」のような外部連携もできるということです。

GASを使ってメール送信

では試しに、使ってみようと思います。はじめなので易しめなところからいきます。

GASを使ってメールを送信してみます。

0. Appsを追加する ※初回のみ

まずGASを使うため、アカウントにGoogleAppsScriptを追加します。


アカウントにログインした状態から
右上のGoogleアプリの項目からGoogleDriveを選択します。

 


[ 新規 ]を選択し、[ その他 ] → [ アプリを追加 ]と進み
右上の検索窓に[ Google Apps Script ]と入力し検索すると、今回の目的Google Apps Scriptが顔をだすので [ + 接続 ]を押します。

 


数秒まってるとこのような画面が出て接続が終了します。

 


もう一度、[ 新規 ] → [ その他 ] と選択すると、
[ Google Apps Script ]が追加されています。試しに起動してみます。

 


このようなエディタの画面が出れば初期設定完了です。
これでGoogleAppsを操れる環境を手に入れることができました!かんたんです!

GASを作成できる環境が手に入ったので、それでは実際にスクリプト作成に入ります。

1. ドキュメントの確認

GASでGmailを使うためのドキュメントはこちら

https://developers.google.com/apps-script/reference/gmail/gmail-app

今回はメールを送りたいので

 sendEmail(recipient, subject, body)

こちらを利用することにします。
「送信先アドレス」「件名」「本文」をsendEmailに送り付ければできるようです。

また、Class:GmailApp、Method:sendEmailと記載されているので、
使い方としては

 GmailApp.sendEmail( 送信先メールアドレス, 件名, 本文);

のようになります。

これらを踏まえさくっとメール送信スクリプトを組んでみます。
構文等の書き方は、[JavaScript 構文]等で検索しご確認ください。

2. スクリプトを作成

先ほどのエディタの画面にスクリプトを作成します。

function send_mail(){

  var mailTo="mail-to@example.com"; //送信先メールアドレス
  var mailSub="メール送信テスト:件名"; //件名
  var mailBody="メール送信テスト:本文"; //本文

  GmailApp.sendEmail(mailTo, mailSub, mailBody); //mailを送信

}

作成したら、[ ファイル ] → [保存](もしくは Ctrl + s)を選択しスクリプトを保存します。
プロジェクト名を何にするか確認されるので、今回は [ メール送信テスト ] とでもしておきます。

たったこれだけでメールが送信できます。
ということで実際に送信してみます。

3. スクリプトの実行


[▶] のボタンを押せば実行することができます。

初回はいろいろ確認されるので、ポチポチしていきます。
まず、Fromで送信したいメールアカウントを選択します。スクリプトの接続を許可してあげます。するとメールが送信できるようになるはずです。

では改めて[▶] 実行を押してみます。
Gmailの受信ボックスでしばらく待っていると、、、


メールが届きました!!!かんたん!
今までやっていた、メールのライブラリを読み込んで、認証してあげて…
のような処理を書く必要もなくメールを送信することができました!

まとめ

Google Apps Scriptを使えば、いろいろなサービスとの連携を簡単にすることができます。しかも無料のサーバレス環境で!
独自言語でなく、JavaScriptで実装できるので構文等に困ったら情報がいろいろ出てくるというのもうれしいですね。

無料なので、とりあえず試してみてください。

投稿者プロフィール

makuta
2015年4月新卒入社の4年目。

AWSを利用した運用・保守をメインでやってます。ansibleの構築自動化も少し手を出したりしてます。

コメントを残す

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload CAPTCHA.

ABOUTこの記事をかいた人

2015年4月新卒入社の4年目。 AWSを利用した運用・保守をメインでやってます。ansibleの構築自動化も少し手を出したりしてます。