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

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

【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を送ることができる
  • Gmailで受け取った内容を取得できる
makimakimakino.hatenablog.com

Googleカレンダー系の操作


GoogleDocument系の操作


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

GoogleDriveの操作


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

Jobの実行ができる


  • 自作スクリプトを特定のトリガーや日時でバッチ実行を行える(サーバーレスで!)

スクレイピングやアプリ・API作成が可能


  • Webスクレイピングができる
  • doGetやdoPostでリクエストを受け取ったり、リクエストを投げたりできる(外部のAPIを叩いて、結果を受け取ったりなんてことも)
  • 自作のWebアプリケーションを作ってAPIを公開もできる!(サーバーレス!)
makimakimakino.hatenablog.com

などができます。

すごい!特にジョブ実行と自作のAPIはサーバーを構築しなくても簡単に使えるという所が素晴らしい!

サーバー立てたことない筆者にとっては神ツール!

おまけにGoogleアカウントと連動できるので外部から難しいライブラリを引っ張ってこなくてもアカウントに紐づいている色んな情報が簡単に利用できます。

GASの機能を組み合わせて

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

具体的には。。。


GASでできそうなこと

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

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

メールを送ってみよう!

色々と夢が広がリングというとこでまずは簡単なところから始めて見ましょう!

今回紹介する手順は以下になります。

GASでメール送信する手順


  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

たったこれだけです!

ちなみに躓くポイントとしては、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を使えばチャットボットだって簡単に作れちゃいます。下記記事もおすすめです。