bz0のにっき

quick and dirty prototype

GASをES6で書く

Google Apps Scriptで、チャットワークAPIを使い
メッセージを送信するjsをES6で書いてみたいと思います。

ES6で書くための準備

やること

・GASのアップロードの自動化
・ES6→GAS用のJSに変換する

GASのアップロードの自動化

・初期化 / ダウンロード
 gapps init スクリプトID
 ※確認箇所:プロジェクトのプロパティ > スクリプト ID

・アップロード
 gapps upload

 ・アップロードできるが、ダウンロードははじめの「gapps init」のときのみ

・注意:

 ・アップロードできるのは Standalone Script のみでスプレッドシート
  ドキュメントなどにひもづいた Container-bound Script には対応していない
  (スプレッドシートから作成したGASで行うとgas initは出来るがアップロードで失敗する)

C:\node\gas>gapps upload
Pushing back up to Google Drive...
An error occured while running upload command: File not found: xxxxxx
Upload failed.

ES6→GAS用のJSに変換する

Google Apps Script を ES2015 で開発|株式会社CAリワード

上記ブログに記述されていたpackage.jsonを利用して「npm install」します。

{
  "devDependencies": {
    "browserify": "^13.1.1",
    "chai": "^3.5.0",
    "gasify": "^0.1.0",
    "mocha": "^3.2.0",
    "babel": "^6.5.2",
    "babel-core": "^6.7.4",
    "babel-preset-es2015": "^6.6.0",
    "babel-register": "^6.7.2",
    "gulp": "^3.9.1",
    "gulp-babel": "^6.1.2",
    "gulp-exec": "^2.1.2",
    "gulp-load-plugins": "^1.2.0",
    "gulp-plumber": "^1.1.0",
    "gulp-mocha": "^2.2.0",
    "babelify": "^5.0.5",
    "vinyl-source-stream": "^1.1.0"
  },
  "babel": {
    "presets": ["es2015"]
  }
}

「npm install」したらコードを書いて、下記コマンドでGAS用のソースに変換します。

browserify -t babelify -p gasify index.js -o gas.js


今回、chatworkAPIでメッセージを送信するプログラムを書きました。


chatworkAPIでメッセージを送信します。(ES6 / Google Apps Script)