Я пытаюсь, чтобы пользователи заполнили форму, и у меня есть вся форма здесь https://docs.google.com/forms/d/1mjDLcGvcVlSG0Tjfx2ZEvGdrFqvQo-ezaB1A4vaBFK8/viewform
Я прочитал ответы здесь Загрузить изображение в электронную таблицу Google У меня две проблемы:
Как вызвать форму, которая у меня есть, а не ту, что в этом коде
var submissionSSKey = 'google sskey'; var docurl = 'google form url' var listitems = ['Gender','Male','Female'] var Panelstyle = {'background':'#dddddd','padding':'40px','borderStyle':'solid','borderWidth':'10PX','borderColor':'#bbbbbb'} function doGet() { var app = UiApp.createApplication().setTitle('Biodata').setStyleAttribute('padding','50PX'); var panel = app.createFormPanel().setStyleAttributes(Panelstyle).setPixelSize(400, 200); var title = app.createHTML('<B>89 Law School Class Alumni Biodata</B>').setStyleAttribute('color','grey').setStyleAttribute('fontSize','25PX'); var grid = app.createGrid(6,2).setId('grid'); var list1 = app.createListBox().setName('list1').setWidth('130'); for(var i in listitems){list1.addItem(listitems[i])} var Textbox1 = app.createTextBox().setWidth('150px').setName('TB1'); var email = app.createTextBox().setWidth('150px').setName('mail'); var upLoad = app.createFileUpload().setName('uploadedFile'); var submitButton = app.createSubmitButton('<B>Submit</B>'); var warning = app.createHTML('Please fill in all fields').setStyleAttribute('background','#bbbbbb').setStyleAttribute('fontSize','18px'); //file upload var cliHandler2 = app.createClientHandler() .validateLength(Textbox1, 1, 40).validateNotMatches(list1,'Select a category').validateEmail(email).validateNotMatches(upLoad, 'FileUpload') .forTargets(submitButton).setEnabled(true) .forTargets(warning).setHTML('Now you can submit your form').setStyleAttribute('background','#99FF99').setStyleAttribute('fontSize','12px'); //Grid layout of items on form grid.setWidget(0, 1, title) .setText(1, 0, 'Category') .setWidget(1, 1, list1.addClickHandler(cliHandler2)) .setText(2, 0, 'Name') .setWidget(2, 1, Textbox1.addClickHandler(cliHandler2)) .setText(3, 0, 'Email') .setWidget(3, 1, email) .setText(4, 0, 'Image File') .setWidget(4, 1, upLoad.addChangeHandler(cliHandler2)) .setWidget(5, 0, submitButton) .setWidget(5, 1, warning); var cliHandler = app.createClientHandler().forTargets(warning).setHTML('<B>PLEASE WAIT WHILE THE FILE IS UPLOADING<B>').setStyleAttribute('background','yellow'); submitButton.addClickHandler(cliHandler).setEnabled(false); panel.add(grid); app.add(panel); return app; } function doPost(e) { var app = UiApp.getActiveApplication(); var ListVal = e.parameter.list1; var textVal = e.parameter.TB1; var Email = e.parameter.mail; var fileBlob = e.parameter.uploadedFile; var blob = fileBlob.setContentTypeFromExtension() var img = DocsList.createFile(blob); try{ var folder = DocsList.getFolder('photos'); }catch(e){DocsList.createFolder('photos');var folder = DocsList.getFolder('photos')} img.addToFolder(folder); img.removeFromFolder(DocsList.getRootFolder()); var weight = parseInt(img.getSize()/1000); var sheet = SpreadsheetApp.openById(submissionSSKey).getSheetByName('Sheet1'); var lastRow = sheet.getLastRow(); var targetRange = sheet.getRange(lastRow+1, 1, 1, 4).setValues([[ListVal,textVal,Email,"https://drive.google.com/uc?export=view&id="+img.getId()]]); var imageInsert = sheet.getRange(lastRow+1, 5).setFormula('=image("https://drive.google.com/uc?export=view&id='+img.getId()+'")'); sheet.setRowHeight(lastRow+1, 80); var GDoc = DocumentApp.openByUrl(docurl) GDoc.appendTable([['Category : '+ListVal,'Name : '+textVal,'Email : '+Email]]) var inlineI = GDoc.appendImage(img); var width = inlineI.getWidth(); var newW = width; var height = inlineI.getHeight(); var newH = height; var ratio = width/height; Logger.log('w='+width+'h='+height+' ratio='+ratio); if(width>640){ newW = 640; newH = parseInt(newW/ratio); } inlineI.setWidth(newW).setHeight(newH) GDoc.appendParagraph('IMAGE size : '+width+' x '+height+' (eventually) resized to '+newW+' x '+newH+' for PREVIEW ('+weight+' kB) '); GDoc.appendHorizontalRule(); GDoc.saveAndClose(); app.add(app.createLabel('Thank you for submitting')); return app }
- Я получаю сообщение «Невозможно прочитать свойство «параметр» из неопределенного» при запуске
doPost(e)
Есть идеи, что мне делать, пожалуйста? я немного отстаю от графика
Большое спасибо