Google Apps Scriptがβ版としてv8対応しています。v8版にすると、実行速度が向上するほか、constやasync/awaitといったモダンなJavaScriptで書けるようになります。
しかし、従来のGoogle Apps Script SDKは動作しなくなります。 ReferenceError: User is not defined
というエラーメッセージが出るようになります。対応を試みたのですが、うまくいきませんでした。
そこで、よりモダンな書き方でv8対応版としてGoogle Apps Script SDKを作り直しています。
コードについて
コードはNCMBMania/ncmb_gas: Google Apps Script(v8対応版)のコードです。にアップロードしてあります。TypeScriptで書かれています。
コードは google/clasp: 🔗 Command Line Apps Script Projects を使ってGoogle Apps Script用のコードに変換しています。
使い方
スクリプトのIDは 1Z8Lezd0OS6qm9W0EVQxBGx1gztqD14kXPfQxycr_rc2atOfKujiWZe7I
になります。基本的に最新版を使うようにしてください。
初期化
以下はプリフィックスをNCMBとした場合のコードです。
const ncmb = NCMB.init('APPLICATION_KEY', 'CLIENT_KEY');
データストアへの保存
v8対応版で、Objective-CやSwift、React Native版SDKと同じような書き方に変更しました。データストアのインスタンスを作るのではなく、ncmb.Object
を使ってオブジェクトを作成します。引数はクラス名です。
const test = ncmb.Object('Test'); test .set('msg', 'こんにちは、世界!') .save();
データ更新
保存したデータを更新する場合にも、 save
メソッドを使います。新規登録と更新はSDK側で振り分けています。データ更新後は updateDate
カラムにデータが入ります。
obj .set('memo', new Date()) .set('ary', ['a', 'b', 'c']) .save();
データ削除
データの削除は destroy
メソッドを使います。
obj.destroy();
まとめ
まだ機能はほとんどありませんが、旧版程度の機能まではすぐに実装していきます。v8版はJavaScriptがより書きやすくなっていますので、ぜひ移行してみてください。