[GAS] GMailで差込みに対応した一斉メール送信

一斉メール送信の仕組みを自分で用意するのは考慮することが色々あって正直ダルいのですが、GASを利用すれば比較的かんたんに実現できます。

大まかな流れは以下の通りです。

  1. 文面をGoogleドキュメントで作成
  2. 送信者のメールアドレスと差込みたい値の一覧をGoogleスプレッドシートにまとめる
  3. スプレッドシートにAppsScriptを追加

専門学校の講師をしているのですが、生徒宛に実習用サーバのアカウントをメールで通知する際に利用していました。

続きを読む

[GAS] Gmailで一定期間経過したメールを自動で既読&アーカイブ

Google Apps Scriptを利用して、GMailのメールを自動的に既読&アーカイブします。

きっかけとしてはGoogleカレンダーから毎日送られてくる「本日の予定メール」なんですが、件名を見るだけで大体把握できてしまうためほとんど開かないんですよね。でも毎日送って欲しい。すると未読メールがどんどんたまっていくの気持ち悪い…が自分で定期的にアーカイブするのは面倒。というわけで自動化することにしたというわけです。

我ながら怠惰すぎるw

続きを読む

[GAS] V8ランタイムを有効にし最新のECMAScriptを動かす

みんな大好きGoogleAppsScriptで、2020年2月よりES2015以降のナウい構文が利用できるようになりました。

Historically, Apps Script has been powered by Mozilla's Rhino JavaScript interpreter. While Rhino provided a convenient way for Apps Script to execute developer scripts, it also tied Apps Script to a specific JavaScript version (ES5). Apps Script developers can't use more modern JavaScript syntax and features in scripts using the Rhino runtime.

V8 Runtime Overview

これまではMozilla製のランタイムRhinoが裏側で動いており、ES5までの構文に対応していました。JavaScriptが劇的に進化したのはES2015(ES6)からです。現代においてES5までの構文しか使えないのはやはり辛い。classはもちろんconstやletもES2015からなのです。

GASは非常に便利なのですが、Node.jsでコードを書き慣れてくるに従ってこの点がほんと苦痛で仕方なかったw そんな折に満を持してGoogle謹製V8ランタイムの登場と相成ったというわけです。これで最新のECMAScriptが動作します。

続きを読む

[GAS] はじめての Google Apps Script

Google Apps Script(以降GAS)は、多少語弊がありますが雑に言うとGoogleDrive上で動作させるプログラムの実行環境です。今回は初歩的な利用方法についてメモしておきます。

特徴

GASはEXCELやWORDなどMS Officeで言うところのVBAのGoogle版だと思えばイメージしやすいと思います。GoogleSpreadSheetやDocumentなどGoogleのOfficeSuiteはもちろん、その他のGoogleのサービスと連携することが簡単にできるのが強みですね。またGASの開発言語はJavaScriptとなっており、すでにJSが使える方にとっては新たに言語仕様を学習するコストがないのも魅力です。

  • Google SpreadSheets, Docs, Slides, Forms内に埋め込むことが可能
    • もちろん単独のスクリプトとして動作させることも可能
  • GMail, GoogleDrive, Calender, YouTubeなどGoogleの様々なサービスとの連携が可能
  • RESTfull APIの作成が可能
    • 何ならHTMLを出力してちょっとしたサイトの構築も可能
  • 指定時間に起動させることが可能(cron)
  • 外部のURLにリクエストを飛ばすことが可能
  • 専用の開発環境(エディタ)付き

制限はありますがこれらがすべて無料で利用できる点も大きいですね。

続きを読む