GASの実行コンテキストとActiveSpreadsheet
Spreadsheetのメニューから起動されるスクリプトのために、特定のシートを参照するライブラリをテストしています。それで、いつもの通りRajahからJasmineを実行してテストしようとしたのですが・・・。
ダメでした。
`var ss = SpreadsheetAPP.getActiveSpreadsheet();`
で、例外が発生します。
Webserviceのコンテキスト
Spreadsheetに付属するプロジェクトとしてGASプロジェクトをつくっても、Webから呼び出されたときにはSpreadsheetのメニューから起動したコンテキストにはならないんですね。いまこのコンテキストに、アクティブスプレッドシートはないよ、と怒られます。
タイマーのコンテキスト
時間をトリガーにして実行しているスクリプトも多用しているのですが、こちらからは、そのスクリプトを含んでいるSpreadsheetを、問題なくActiveSpreadsheetとして取得できています。Webserviceのときには、誰がアクセスしているかわからないから(Spreadsheetへのアクセス権がないから)?
あれ。不思議ですね。
公開設定で、「自分自身として実行」を選択しているので、誰だかわからないことはないはずですが・・・。
なぜでしょう。
Rajah
というわけで、やっぱりデバッガからJasmineを起動したときにも、Rajahウィンドウからきちんとレポートを参照できるようにしたいです。Jasmine が version 2 になってからかな。
だいぶいろいろ機能拡張しているみたいなので・・。
Comments
Post a Comment