2016-06-16 12 views
1

私の悪い英語と私の低レベルのために。私はまだそれについて何も見つかりません。多分あなたは私を助けることができましたか?アプリケーションを使用せずにdoGet関数のオブジェクトの値をテストする方法

私は、Logger.log()を使用して、必要なものの内容をテストしました。私は経験豊かな開発者ではないので、特にGoogle Apps Scriptで自分のコードをデバッグするのは簡単ではありません。そのため、私の問題を回避する方法があるかもしれません。

問題は単純です:

function doGet(e) { 
    var currentUser = Session.getActiveUser().getEmail(); 
    var ssUrl = e.parameter.url; 
    var sheetName = e.parameter.sheet; 
    var a1Notation = e.parameter.range; 

あなたが見ることができるように、私は(うまくいけば、それはスプレッドシートですが、あなたが気にしてはならないことを確認することはできません)スプレッドシートの変更によって渡されたパラメータを使用します。 しかし、スクリプトを実行すると、明らかに未定義と見なされ、10行後のオブジェクトの値を試すことができません。私はちょうど私がデバッグする必要があるたびに、URLストリング、シートなどをコピーする必要がないように、ブレークポイントなどの方法があるかどうかを知りたいと思います。

+2

'doGet'は、スプレッドシートの変更ではなく、GETリクエストによってトリガーされます。 –

答えて

1

あなたが気付いていない場合に備えて、スクリプトエディタにはdebugger and breakpointsが提供されています。

doGet関数をデバッグするには、GET呼び出しを模倣する別の関数を作成すると便利です。まず、ロギングWebアプリケーションを作成します。

function doGet(e) { 
    return ContentService.createTextOutput(JSON.stringify(e)); 
} 

次に、GETリクエストのソースを取得して、実際のロギングWebアプリケーションを呼び出します。返されたJSON文字列を記録し、このような関数で使用します。

ここ
function fakeGet() { 
    var eventObject = 
    { 
     "parameter": { 
     "action": "view", 
     "page": "3" 
     }, 
     "contextPath": "", 
     "contentLength": -1, 
     "queryString": "action=view&page=3", 
     "parameters": { 
     "action": ["view"], 
     "page": ["3"] 
     } 
    } 
    doGet(eventObject); 
} 

fakeGetクエリ文字列?action=view&page=3付きGETリクエストコールを模倣します。スクリプトエディタからfakeGetを起動し、デバッガを使用してdoGet関数の動作を観察できます。

+0

私は習得していないほど多くのことをしていました。今私は残りの部分を見つけるための手がかりを持っています。 ありがとう、非常に役に立ちました。 – LMS

関連する問題