我已經創建了一個應用程序,用於收集來自各種用戶的表單回覆。我在回覆電子表格中收到了電子郵件ID的回覆。由於我不想在電子表格中存儲數據,因此我正在通過響應讀取數據。我正面臨一些挑戰,請指導。
查詢1.同時使用onFormSubmit(e)中,我無法讀取提交形式,給定的代碼被返回null 變種形式= FormApp.getActiveForm(); Logger.log('usename:'+ form.getId());錯誤「無法調用null方法的getId」。雖然如果我硬編碼的值formid var form = FormApp.openById('<>'); 那麼它工作正常,我也可以閱讀迴應。我如何獲得多個用戶的表單回覆。
查詢2.getRespondentEmail();不適用於我的情況。即使我使用表單ID <>並嘗試從我在表單提交時捕獲的響應中獲取電子郵件ID「form.setCollectEmail(true);」我嘗試了onFormSubmit(e)函數中的以下代碼,但dint得到結果:
var formResponse = form.response;
Logger.log('用戶的電子郵件地址:'+ formResponses.getRespondentEmail());
和另一種方式:
Logger.log('用戶的電子郵件ID:'+ form.getRespondentEmail()); Logger.log('用戶的電子郵件地址:'+ e.values [1]);以及
沒有什麼適合我的。請指導。如何從回覆中獲取/讀取電子郵件ID
感謝提前。
如果您的應用程序腳本是在窗體本身中創建的,那麼只有FormApp.getActiveForm();會給你表格。 鑑於如果你是應用程序腳本在驅動器然後FormApp.getActiveForm();將返回null。 檢查這是你的第一個查詢。你可以發佈你的第二個查詢的代碼嗎? – Bharathi
ohk,我的不好,我從電子表格動態地創建表單,所以我如何捕獲提交表單的表單ID? – usadhikari
用於捕獲電子郵件ID的相關代碼: function onFormSubmit(e){ var form = FormApp.openById('1ZQkN76JbZEpnWG9D0GQZfSWD8YHlP5nbuqIcfJpC9a0'); //閱讀回覆 \t Logger.log('email:'+ form.getRespondentEmail()); Logger.log('email:'+ formResponses.getRespondentEmail()); Logger.log('email:'+ e.values [0]); } – usadhikari