これは、いくつかのフォーム/応答スプレッドシートで何度も発生しています...
ランダムに、Google フォームは回答スプレッドシートへの回答の投稿を停止します。回答数がスプレッドシートの行数よりも多いため、これが発生していることがわかります (列ヘッダーを含む行のため -1)。これが発生した場合、スプレッドシートは変更されていません。権限は変更されず、フォームが送信されたこと以外は何も起こらず、応答はスプレッドシートへの投稿を停止します。
試してみSpreadsheet.flush()
ましたが、これは効果がありませんでした。私が思いついた唯一の修正は、フォームのリンクを解除してから、新しい応答スプレッドシートを作成することです。しかし、これが発生するたびに、添付されているすべてのスクリプト プロジェクトをセットアップする必要があり、面倒です。これに関する唯一の適切な点は、新しい応答スプレッドシートを作成すると、すべての応答がスプレッドシートに正しく (再) 投稿されることです。
だから、3つの質問:
- Google フォームが応答スプレッドシートへの応答の投稿を停止するのはなぜですか?
- これは既知の問題で、Issue Tracker で見つけられないだけですか?
- この問題をすばやく解決するための回避策はありますか (のようなもの
Spreadsheet.flush()
)?
編集:私の推測では、Googleのサーバーが一時的に遅れて(キューが長すぎますか?)、おそらくフォームの応答が失われます(負荷に応じて一時的または永久に?)。永久的な損失により、フォームとスプレッドシートのリンクが完全に壊れているようです。
記録として、onFormSubmit トリガーは引き続き正常に実行されますが、スプレッドシートに実際に存在するデータに依存する他の後処理タスクは実行されません(データがもちろん存在しないため)。