Resposta curta
O link aponta para uma sessão de perguntas e respostas que tem duas respostas, mas nenhuma delas parece adequada. Ou seja, o código de uma das respostas está incompleto e os dois enviam e-mails, portanto a adoção é muito complexa para ser usada como ponto de partida.
Abaixo está um script que é mais fácil de adotar.
Instruções
Crie um formulário de teste e anote o ID do formulário (entre ../d/
e /edit
no URL).
Defina o formulário para enviar respostas para uma nova planilha.
Você será redirecionado para a nova planilha. Anote o nome da planilha ativa (renomeie-o, se desejar) e adicione um cabeçalho à coluna a ser usada para conter os URLs de edição da resposta, ou seja Edit Url
. NOTA: A capitalização é muito importante, portanto, tenha muito cuidado com a forma como a escreve.
Vá para Tools > Script editor
adicionar um projeto de script do Google Apps vinculado à planilha.
Substitua o código padrão pelo código abaixo (lembre-se de editar as variáveis globais de acordo com o seu caso).
Salve o projeto e adicione um acionador de cúpula de formulário instalável (se você receber uma caixa de diálogo "Autorização necessária", clique em "Revisar permissões" e depois em "Permitir").
Envie algumas respostas de amostra para testar a solução.
Código
/*
* Global Variables
*/
// Form URL
var formURL = 'https://docs.google.com/forms/d/form-id/viewform';
// Sheet name used as destination of the form responses
var sheetName = 'Form Responses 1';
/*
* Name of the column to be used to hold the response edit URLs
* It should match exactly the header of the related column,
* otherwise it will do nothing.
*/
var columnName = 'Edit Url' ;
// Responses starting row
var startRow = 2;
function getEditResponseUrls(){
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues();
var columnIndex = headers[0].indexOf(columnName);
var data = sheet.getDataRange().getValues();
var form = FormApp.openByUrl(formURL);
for(var i = startRow-1; i < data.length; i++) {
if(data[i][0] != '' && data[i][columnIndex] == '') {
var timestamp = data[i][0];
var formSubmitted = form.getResponses(timestamp);
if(formSubmitted.length < 1) continue;
var editResponseUrl = formSubmitted[0].getEditResponseUrl();
sheet.getRange(i+1, columnIndex+1).setValue(editResponseUrl);
}
}
}
Recursos adicionais
Eu criei uma essência com o conteúdo da pergunta e resposta. this b / c Estou explorando maneiras de colaborar melhor entre os usuários finais que escrevem código.