だって楽したいじゃんか!

大学院(機械工学科)を首席で卒業した男がこれまでの経験を生かさず殺さず発信していく

【GAS】Google Apps Scriptとは

今回はGoogle Apps Script 、通称GASについてできることをまとめてみます。まずは「GASとはなんぞや」というところと「GASを使ってできそうなこと」、それから「簡単にメールを送る方法」なんかも記述していこうかと思います。簡単に使えるって聞いて来たのに細々した説明はいらないんじゃー!早く使わせろー!という方はスクロールを下の方までどうぞ。

Google Apps Scriptとは

Google Apps Script(GAS)とは、Googleが提供するサーバーサイド・スクリプト環境です。GASGoogleが提供するあらゆるサービス(GmailのみならずGoogle Appsとか、現在はG Suite)を統合処理できます。Google Apps ScriptJavaScriptに、Googleのサービスを利用するためのさまざまなオブジェクトを追加したものであり、「Google Apps Script」という独自のスクリプト言語があるというわけではありません。ですのでJavaScriptを書ける人は抵抗がなく実装できると思います。JavaScript自体がわからない人は、いろいろな入門サイトがぐぐれば出てくると思うのでそちらで勉強することをお勧めします。
⚠️この記事ではJavaScriptに触れることはないです。(というよりまきのはJavaScriptを書いたことがないので細かいことはわからないです。)

このGASはなんとGoogleのアカウントさえ持っていれば使えるという素晴らしいシロモノ!もちろんPCとブラウザは必要です。

GASでできること

GASでできることとしてはGoogleのアカウントと連動して、

    • Gmailを送ることができる
    • Gmailで受け取った内容を取得できる

  • GoogleDocument系の操作

    • GoogleSpreadsheetやGoogleDocsなどを編集できる

  • GoogleDriveの操作

    • Googledriveのドキュメントにアクセスできる。
    • ドライブ内のフォルダ管理やドキュメントの更新なんかも管理できる。

  • Jobの実行ができる

    • 書いたスクリプトを特定のトリガーや日時でバッチ実行を行える。(サーバーを構築せずに!)

  • JavaScriptでできることはだいたいできる。

    • doGetやdoPostでリクエストを受け取ったり、リクエストを投げたりできる。外部のAPIを叩いて、結果を受け取ったりなんてことも。

  • 自作のWebアプリケーションを作ってAPIを公開もできる!(こちらも独自にサーバー構築が必要ない!)


などができます。すごい!特にジョブ実行と自作のAPIはサーバーを構築しなくても簡単に使えるという所が素晴らしい!サーバー立てたことないまきのにとっては神ツール!おまけにGoogleアカウントと連動できるので外部から難しいライブラリを引っ張ってこなくてもアカウントに紐づいている色んな情報が簡単に利用できます。

GASの機能を組み合わせて

GASの機能を組み合わせたら簡単に便利なことができるのではないかと思うのです。具体的には。。。

  • 自動で定期メールを送る。週次や、月次となっている報告資料を作成したら自動でメールが飛ぶ。
  • リマインドメールを定期的に送信する。
  • メールの自動応答ができる。
  • エクセルの集計マクロが組める。
  • 集計結果をメールで業務担当者に自動で送信、通知ができる。
  • 外部のサイトslackやlineなどのSNSに、メールの内容を送信したり、chatbotが作れる。
  • 電車の遅延状況を案内してくれるメールを飛ばせる
  • メールの中からクライアントとのやりとりなど特定の情報のみ抜き出して、課題管理表を自動で作成する。
  • 勤怠を自動で入力、サブミットできる。
  • カレンダーの場所から交通費を自動で清算できる。
  • カレンダーの予約や、空き情報の確認ができる。
  • 複数人の予定の中から空いている日程をサジェストする

などなど使いこなせれば業務でもプライベートなどでも色々と捗りそうな予感。

メールを送ってみよう!

色々と夢が広がリングというとこでまずは簡単なところから始めて見ましょう!今回紹介する手順は以下になります。

  1. Googleアカウントの作成
  2. Google Apps ScriptをGoogle Appsに追加
  3. プロジェクトの作成・環境準備
  4. 実装
  5. 実行

1.Googleアカウントの作成

メールを送る前に準備をします。まずはgoogleアカウントの作成とログインします。こちらを参考に作成してみてください。
support.google.com

2.Google Apps ScriptをGoogle Appsに追加

続いてgoogle apps scriptのエディターを立ち上げます。Googleアカウントでログインしたブラウザでアドレスバーにwww.google.comを打ち込みます。
[Google Apps]>[ドライブ] を押下します。
f:id:makimakimakino:20170315234646p:plain
Google Driveが開きます。

初期状態では、Google AppsにScriptが追加されていません。Goolge AppsへScriptに追加するためには次のようにします。
f:id:makimakimakino:20170315234807p:plain
[新規]>[その他]>[アプリ追加]

f:id:makimakimakino:20170315235020p:plain
検索ボックスに「google apps script」と入力し、検索します。出てきたGoogle Apps Scriptの[+接続]を押下します。

f:id:makimakimakino:20170315235529p:plain
接続された旨が表示されれば大丈夫、[OK]を押下します。

3.プロジェクトの作成準備

Scriptを作成する。
f:id:makimakimakino:20170315235639p:plain
[新規]>[その他]>[Google Apps Script]を押下します。

f:id:makimakimakino:20170315235748p:plain
エディターが立ち上がります。

プロジェクト名を編集

[無題のプロジェクト]をダブルクリック。プロジェクト名を入力して[OK]を押下します。今回はプロジェクト名を「MailSender」にしました。
f:id:makimakimakino:20170315235913p:plain

Script名を変更

左側の.gsの横の[▼]を押下して[名前の変更]を選択します。
f:id:makimakimakino:20170316000100p:plain
今回は「main」としています。
f:id:makimakimakino:20170316000229p:plain
f:id:makimakimakino:20170316000329p:plain

4.実装

これでコードを書く準備は整ったので、いよいよScriptにコードを記述してメールを送ってみます。ちなみにGASのドキュメントはこちら

main.gs
//mailを飛ばすだけの関数
function mailSender() {
  var mailTo = "to_address@example.com";//送信先
  var mailFrom = "from_address@example.com";//返信先
  var mailSubject = "[mailSender test]subject";//件名
  var mailBody = "mailSender test";//本文

  MailApp.sendEmail(mailTo,mailFrom,mailSubject,mailBody);//mailの送信
}

たったこれだけです!ちなみに躓くポイントとしては、mailFromを任意の値にしてしまうことです。ここで設定できる値は、自分のgmailアドレスか、エイリアスとして登録しているアドレスだけです。エイリアスを登録するには以下の記事が参考になります。
support.google.com

まきのはちきんなので自分のメールに飛ばしてみます。。。

5.実行

実行方法ですが、関数を選択して
f:id:makimakimakino:20170316000440p:plain
[▶]実行を押下します。
f:id:makimakimakino:20170316000454p:plain
Google Apps Scriptがアクセスするための認証が求められるので[許可を確認]を押下します。
f:id:makimakimakino:20170316000509p:plain
リクエストに対して[許可]を押下します。
f:id:makimakimakino:20170316000537p:plain

自身のメールを確認してみると。。。やったね!メールが飛んだよ!
f:id:makimakimakino:20170316000857p:plain

ほかの言語(Python,Ruby)など使ってGoogle APIを呼び出してメールを送信するよりもはるかに楽ちんです。こんな感じでgasを使えばメールサーバーを気にせず楽にメールが飛ばせちゃいます!

まとめ

Google Apps Scriptでできることを簡単にまとめて、実際にメールを飛ばすような処理を実装してみました。複雑な設定など必要なく環境を構築、メール送信までできたのではないでしょうか。一番の魅力は簡単さであることはご理解いただけたかと思います。

GASを使えばチャットボットだって簡単に作れちゃいます。下記記事もおすすめです。
makimakimakino.hatenablog.com