GoogleAppsScript

[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にリクエストを飛ばすことが可能
  • 専用の開発環境(エディタ)付き

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

続きを読む

GoogleAppsScript(GAS)のIPアドレス範囲を調べる

GASからUrlFetchApp.fetch()した場合にどのIPアドレスからリクエストが来るか事前に知りたい場合がありますよね。社内や身内だけで使っているクローズドなサーバなどでです。今回はこの調査方法についてまとめます。
続きを読む