2016-09-02 29 views
13

onFormSubmit()トリガーを使用して、フォームにバインドされたスクリプトを使用してGoogleフォームから回答の詳細を収集しようとしています。Googleフォームのフォーム受信フォームに返信がありません

ほとんどの場合、詳細はエラーなく受信されますが、しばらくしてエラーが発生します。トリガーは受信されましたが、データはスクリプトに渡されません。応答はGoogleフォームコンソールで受信されますが、スクリプトには転送されません。データを受信するための

コード:エラーの場合は

function onFormSubmit(e) 
{ 

    Logger.log("A response has been received!"); 
    Logger.log(e); 
    var resp = e.response.getItemResponses(); //capturing trigger event output 
    var form = e.source; 
...... 

実行トランスクリプトは:

[16-09-27 07:29:15:073 PDT] Starting execution 
[16-09-27 07:29:15:096 PDT] Logger.log([A response has been received!, []]) [0 seconds] 
[16-09-27 07:29:15:097 PDT] Logger.log([{authMode=FULL, triggerUid=xxxxxxx41}, []]) [0 seconds] 
[16-09-27 07:29:15:099 PDT] Execution failed: TypeError: Cannot call method "getItemResponses" of undefined. (line 18, file "Code") [0.002 seconds total runtime] 

今まで、私は、フォームを複製し、すべての権限を再設定することによって、それを是正しています。しかし、私はこれをもう一度やっていない解決策が欲しいです。私の10回目の重複になりました:(誰もがこの問題に直面していますか?私が正常に応答を受信した時、eも同様の応答キーを持っていた!!

助けてください。

+0

ユーザーからの回答が確認されましたか? –

+0

はい。応答は、それぞれのフォームのGoogleフォームダッシュボードに記録されます。 –

+0

あなたのコードを教えてもらえますか? – Fralec

答えて

5

これは、その周りの仕事は、あなたのスクリプトを防ぐ必要があります破壊から:

function onFormSubmit(e) 
{ 
    Logger.log("A response has been received!"); 
    // Check if e is defined 
    if (e) { 
    // Any code that use e should be inside this block 
    Logger.log(e); 
    var resp = e.response.getItemResponses(); //capturing trigger event output 
    var form = e.source; 
    } else { 
    // Log if e is undefined 
    Logger.log('e is undefined!'); 
    } 
...... 

私はあなたが特にあなたがコンソールで応答を見ることができ、問題を調査するために、Googleのサポートに連絡する必要があることをルベンに同意

0

あなたが戻ってあなたのアクティブなトリガに行かなければならないことがあり、。トリガを削除して再度追加すると、新しいアクセス情報の入力を求められます。

関連する問題