[英]Google Forms Script You do not have permission to call Form.getResponses
[英]form.getResponses().length returns inconsistent responses.
如果您擁有帶有以下腳本的Google表單,該腳本已附加到電子表格中:
var ss = SpreadsheetApp.openById("INSERT ID");
SpreadsheetApp.setActiveSpreadsheet(ss);//Make it active.
var sheet = ss.getSheetByName('Form responses 1');
var form = FormApp.openById('INSERT ID');
function testSubmission() {
var numberOfResponses = form.getResponses().length;
var cell = sheet.getRange(sheet.getLastRow(), sheet.getLastColumn());
cell.setValue(numberOfResponses);
}
我希望form.getResponses()。length總是遞增計數。 但是,有時它會跳過一個增量。 例如,您可能會看到1,2,3,3,5,6等。
無論響應距離有多遠,都可能發生這種情況。 在這里查看我的測試回復:
其他人有沒有經歷過? 為什么會這樣? 我懷疑這可能是一個錯誤,但在報告之前需要一些確認。
無法使用您的代碼進行復制,但是它完全錯過了一次發布計數的過程。
考慮:
openById()
持有腳本時,請使用.getActiveSpreadsheet()
而不是openById()
。 .setActiveSpreadsheet(ss)
,不需要 .getActiveForm()
。 var responses = form.getResponses();
var len = responses.length;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.