我有一個Google Form使用Google電子表格來存儲回覆。在我的電子表格中,我有4列:姓名,電子郵件,收入和第四列Id,用於識別特定收件人。爲每位受訪者生成獨特的表單URL
我想要完成的是爲每個答覆者生成一個唯一的URL,以便他們可以響應表單和使用相同的URL在以後編輯表單。
我已經看了這創造了答辯一個唯一的URL的getEditUrl()
(谷歌Apps腳本)方法提交以下response--代碼之後:
function myFunction() {
assignEditUrls();
}
function assignEditUrls() {
var form = FormApp.openById('1vsqvwomoqSXwF6TlNkmmktAAk2av2r-2LRrBYJdv3VQ');
//enter form ID here
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Form Responses');
//Change the sheet name as appropriate
var data = sheet.getDataRange().getValues();
var urlCol = 5; // column number where URL's should be populated; A = 1, B = 2 etc
var responses = form.getResponses();
var timestamps = [], urls = [], resultUrls = [];
for (var i = 0; i < responses.length; i++) {
var resp = responses[i];
timestamps.push(responses[i].getTimestamp().setMilliseconds(0));
urls.push(shortenUrl(responses[i].getEditResponseUrl()));
withItemResponse(responses[i])
}
for (var j = 1; j < data.length; j++) {
var dop = data[j][0]
resultUrls.push([data[j][0]?urls[timestamps.indexOf(data[j][0].setMilliseconds(0))]: '']);
}
sheet.getRange(2, urlCol, resultUrls.length).setValues(resultUrls);
}
function shortenUrl(longUrl) {
// google url shortener api key
var key = "AIzaSyBVG4Q5i1mNI0YAO0XVGZ3suZU8etTvK34";
var serviceUrl="https://www.googleapis.com/urlshortener/v1/url?key="+key;
var options={
muteHttpExceptions:true,
method:"post",
contentType: "application/json",
payload : JSON.stringify({'longUrl': longUrl })
};
var response=UrlFetchApp.fetch(serviceUrl, options);
if(response.getResponseCode() == 200) {
var content = JSON.parse(response.getContentText());
if ((content != null) && (content["id"] != null))
return content["id"];
}
return longUrl;
}
不過,我想這樣做的另一種方式是首先生成唯一的URL,然後發送給受訪者,以便他們可以提交和編輯他們的回覆,而無需向他們發送另一個URL(例如editurlresponse
)。
這可能嗎?
你想知道是誰提交的形式?你看過預填充的url是如何構建的嗎?你可以構造一個「預先填充的」url(一個填充一些或所有字段的url)。例如,您可以構建一個預先填寫的網址,填寫一個作爲提交表單的人的姓名的項目。 –
沒有人回覆。我想爲每個收件人建立一個唯一的網址,以便他們可以使用該網址提交然後重新編輯他們的回覆。 – rararake
此問題已由其他用戶跨Web發佈到Web Apps SE站點:http://webapps.stackexchange.com/q/86396/88163 –