Я не знаю, есть ли способ сделать эту работу, но я хочу создать форму с типом ввода = файл. Но когда я отправляю форму, она не работает из-за типа ввода = файл и вызывает из моих прав доступа установлен для меня только в приложении Google.
Edit1: Первый раз отправляю код, надеюсь, я не напортачил. Ну, код выглядит так, я просто показываю базовый код, с которым у меня проблемы. Всякий раз, когда я удаляю строку с входным файлом, он отправляет форму и добавляет в электронную таблицу значение, которое я ввел в текстовое поле имени. И я заметил, что это также работает, когда я оставляю строку входного файла, когда я меняю разрешения в моем сценарии приложения, когда я публикую sh код как веб-приложение, и в поле «Кто имеет доступ к приложению» поставить «Любой, даже анонимный», дело в том, что я не хочу, чтобы кто-нибудь мог получить доступ к веб-приложению. Я просто подумываю переписать код gs, чтобы проверить доступ пользователя к веб-приложению, но я не уверен, будет ли это безопасно.
Спасибо за любую информацию или помощь, которую вы могли бы принести.
PS. Я учусь HTML, я не айтишник. Не очень хорош в engli sh тоже.
GS Code:
function doGet() {
var template = HtmlService.createTemplateFromFile('HtmlName');
return template.evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME);}
function processForm(formObject) {
var formBlob = formObject.myFile;
var driveFile = DriveApp.createFile(formBlob);
var firstName = formObject.firstName;
DriveApp.getFolderById("anyID").addFile(driveFile);
ss.appendRow([formObject.firstName,
]);}
Html File
<!DOCTYPE html>
<html>
<body>
<form class="w3-container" id="myForm" onsubmit="handleFormSubmit(this); ">
<p>
<input class="w3-input" name="myFile" type="file">
<input class="w3-input" type="text" name="firstName">
<p>
<input class="w3-button" type="submit" value="Submit">
</form>
</body>
<script>
// Prevent forms from submitting.
function preventFormSubmit() {
var forms = document.querySelectorAll('form');
for (var i = 0; i < forms.length; i++) {
forms[i].addEventListener('submit', function(event) {
event.preventDefault();
}); } }
window.addEventListener('load', preventFormSubmit);
function handleFormSubmit(formObject) {
google.script.run.withSuccessHandler(updateUrl).processForm(formObject);
}
</script>
</html>