Help us understand the problem. What is going on with this article?

2015年 AppsScriptの更新・流れまとめ

More than 3 years have passed since last update.

毎年恒例の埋まらないAdvent Calendar GAS Advent Calendarが始まりました。

今年も様々なGASのアップデートがあり、少しずつですが機能が追加されました。
ただ最近は公式サイトのRelease Notesに更新情報が乗らず、ひっそりと機能が追加されていっているように思えます。

そこで今回は2015年であった更新をまとめて、個人的な考察ですが、GASの最近の流れをみてみたいと思います。

まとめ

最初にまとめておくと2015年でGASは

  • 機能やプラットフォームの提供がなくなり、自分で実装する部分が増えた
    • OAuth1認可機構の削除
    • ScriptDBの削除
    • UIAppの削除
  • より開発者に扱いやすく、様々なサービス連携を行いやすくなった
    • HTMLService Iframeモード
    • Execution API
    • Utilities.base64DecodeWebSafeUtilities. computeRsaSha256Signature追加による、他サービスとの連携性の強化
    • Advanced Google Servicesとしての連携Service追加
  • Addon機能がより開発しやすくなり、提供しやすくなった
    • TESTモードの追加
    • Domain Wide installation

となりました。
私的な見解ですが流れとしては、プログラミング初心者やあまり開発経験のない人にはハードルが上がったように見えますが、開発を行ったことがある人にはより扱いやすい環境になっているように見えます。

以降は細かい更新を見ていきたいと思います。

2015/01

更新なし

2015/02

主にSpreadsheetのプロテクト系と、DocsListの廃止に伴う動きがありました。

  • SpreadsheetAppにシートやRangeのプロテクト関連のメソッド群を追加 またそれに伴いもともとあったPageProtectionメソッドが非推奨になった
    • Range.canEdit()Range.protect()あたりが追加されました。
    • Spreadsheet.getSheetProtection()あたりが非推奨になりました。
  • DocsListの廃止に伴い、SpreadsheetApp.open(file)DocsList.Fileを渡すメソッドが非推奨になりました。
  • DocumentAppText.setFontFamily(fontFamilyName)FontFamily enumベースからString指定に変わりました。

2015/03

一番大きな更新はOAuthConfigが非推奨となり、廃止されることが決まりました。
結構大きい話だったのですが、古い記事などでは未だにOAuthConfigが使われており、結構混乱を招いたのを覚えています。

2015/04

AddonがDeveloper Previewを卒業し、誰でも公開できるようになりました。
また密かにですが、非推奨となっていたDocsListが完全に廃止 利用不可能になりました。

またこの辺りからAdvanced Serviceの拡充が進んでいっています。

2015/05

見た目上の大きな更新はありませんが、Script Editor上でOAuthConfig周りが非推奨になったのはこのタイミングです。

ただGASを長くやっている方々向けには大きな更新があって、
Utilities.base64DecodeWebSafeが追加になり、今までBase64エンコード、デコードでめんどくさいことになっていた部分がかなり軽減されました。

  • OAuthConfigなどのOAuth1に関連するサービス軍が非推奨に
  • UtilitiesクラスにWebSafeなBase64メソッドが追加
    • Utilities.base64DecodeWebSafe
    • Utilities.base64EncodeWebSafe
  • ScriptAppにインストール元を判別するメソッド等が追加
    • ScriptApp.getInstallationSource()
    • ScriptApp.getProjectKey()
  • HtmlServiceにUAを判定するメソッドが追加
    • HtmlServicegetUserAgent()

2015/06

これもあまり派手な更新ではありませんが、長くGASをやっている方々からすると、と言うか僕にとってはもっともと言っていい更新が来ました。
UtilitiescomputeRsaSha256Signatureが追加され、RSA SHA-256による署名が可能になったのです。

例えばRSA SHA256の計算はGoogle APIの認証で利用されるService Accountではほぼ認証文字列を作成するには必ず必要で、結構連携する際には必要となる処理でした。

しかしもともとGASではRSAのSHA256の計算が公式には提供されておらず、
ブラウザや、NodeJS向けに作られた、外部ライブラリを利用する必要がありました。
ただそれらのライブラリは非常にGASで動かすには重く遅く全くと言っていいほど使い物にならなかったのです。

この更新によりRSA SHA256計算が高速に行えるようになり、
様々なシーンでRSA SHA256計算が可能になりました。
つまりはService Accountを経由した認証がGAS上で(利用可能なレベルで)可能になったのです。

このService Account認証については別日のAdvent Calendarで詳しく書きたいと思います。

  • UtilitiescomputeRsaSha256Signatureが追加

2015/07

多分更新なし

2015/08

GAS的には小さい更新のみ
でもGoogle DriveのWeb Hostingがストップして、
GAS API & Google Drive Hostingみたいな作りがダメな構成になったのが記憶的ですね

2015/09

以降Release Notesの更新が止まる。
Execution APIがリリースされ、外部アプリケーションからの連携が容易になりました。

2015/10

HTMLServiceのEMULATEDモードやNATIVEモードが廃止決定し、段階的にIFRAMEモードに移行することになりました。

だんだん緩和する動きになって最終的にはフルオープンって感じですね。
Cajaの地獄がやっと終りとなりました。

2015/11

目立った更新はなし。

時期不明

あとがき

確実にGAS自体の更新はあり、また公式Blogに利用例のポストはあるなど、
終わる雰囲気は無いのですが、Release Notesの更新がなかったり、
ライブラリの追加などがメインでGASのそのものの更新が無いのが辛いところですねぇー

GASのユーザも非常に幅広くなってきた印象もあります。

日本においてはCharworksやSlack等の連携用や、BigQueryとの連携用などでの利用シーンをよく見るようになりました。

相変わらず日本語情報が少ない的なコメントも見ますが、
そもそも英語情報もそこまで多くないのです

というよりかGASが扱える幅が広すぎてやりたことにマッチした内容の記事が少ないってのもあるかもしれません。

来年もたくさんの更新があるといいですね

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away