「フォーム送信時」イベントで起動するスクリプトで最大 40 の質問をする Google フォームがあります。
ほとんどの場合、すべての応答の配列を取得し、.length-1 を介して最新の応答を取得するこのコードを介して、現在送信されている応答を var formResponse に正常に参照できます。
var formResponses = form.getResponses();
var i = formResponses.length-1;
var formResponse = formResponses[i];
フォームが 25 件以上の応答を収集すると、処理の遅延が発生し、スクリプトが実行されますが、何らかの理由で応答がまだ .getRespones() 配列に追加されていないようです。その結果、古い応答に対してスクリプトが再度実行されます。フォームと結果を含むスプレッドシートを見に行くまでに、期待どおりに更新されていますが、イベントは誤った応答で既に発生しています...したがって、正しく参照しているか、問題があるかどうか疑問に思っていますGoogleフォーム側。この問題は、フォームからすべての回答を削除すると一時的に緩和されますが、回答数が約 25 に達すると再び発生します。
ご協力ありがとうございました!