読者です 読者をやめる 読者になる 読者になる

Google Apps Script:1.GASとは

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

Google Apps Scriptとは?

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

※ここではほとんどJavaScriptに触れることはないです。(というよりまきのはJavaScriptを書いたことがないので細かいことはわからないのです。 笑)

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

GASでできること

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

  • Gmail系の操作
    • 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
検索ボックスに「google apps script」と入力し、検索する。
出てきたGoogle Apps Scriptの[+接続]を押下
f:id:makimakimakino:20170315235020p:plain
接続された旨が表示されれば大丈夫、[OK]を押下する。
f:id:makimakimakino:20170315235529p:plain

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

Scriptを作成する。

[新規]>[その他]>[Google Apps Script]を押下
f:id:makimakimakino:20170315235639p:plain
エディターが立ち上がる。
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使ってGoogle api叩くよりはるかにらくちんです。

こんな感じでgasを使えばメールサーバーを気にせず楽にメールが飛ばせちゃうのです!
次回は定期的にメールを送る方法を説明したいと思います。