В Формах стала доступна загрузка файлов https://goo.gl/KHDGft
Постановка задачи в виде часто задаваемых вопросов:- Как загрузить файл на Диск через Формы Гугл?
- Как разрешить пользователю загрузить файл на мой Диск?
- Как можно загружать файлы на Диск через форму.
Краткие ответы
- Никак, такого функционала не существует.
- Вы можете это сделать четырьмя более-менее доступными способами, все из них используют Диск Гугл как сервис: использовать свое приложение, подключив Google Drive API; использовать стороннее приложение, которое получает доступ к вашему Диску через Google Drive API; использовать Google Apps Script с клиентской частью либо как сервер-обработчик REST, который Google Drive API подключает автоматически.
- Из п. 2 вытекает, что возможно использовать собственную форму для загрузки файла на Диск.
Ограничения: максимальный размер файла 10Мб; страшная полоска "This application was created by another user, not by Google."; сложность изготовления, для неподготовленного пользователя.
Для начала, наберитесь терпения.
Создайте директорию, в которой будете хранить файлы (она может быть публичной, если это задано условием).
Создайте Таблицу https://docs.google.com/spreadsheets, в которой будут храниться данные формы (эта Таблица может находиться в той же папке, если это задано условием. Рассмотрите варианты доступа подробнее исходя из условий вашей задачи).
Создайте скрипт https://script.google.com.
В скрипте вам необходимо создать два файла (один уже есть по умолчанию, это Code.gs). Второй файл формата HTML под названием index.html.
Содержимое этих файлов:
Далее публикуем скрипт.Эта публикация необходима здесь для того, чтобы показать, что это возможно. Код приведенный здесь, хоть и работает, но не является достаточным для полноценного функционирования. Тут не рассмотрены вопросы создания скриптов с нуля, публикации версий, режимов работы скриптов. Для дополнительной информации воспользуйтесь файлом 1. Google Apps Script. Начало. Нужны они вам или нет?Директория со скриптом, Таблицей и папкой файлов тут <-- ВАТТУТ ВОТ
Отправить файл на мой Диск вы можете через опубликованный скрипт
Посмотреть результат работы
Создано по мотивам кучи писем, вопросов и статьи Upload Files to Google Drive with Google Apps Script
Здравствуйте,
ОтветитьУдалитьСпасибо за материал.
Скажите пожалуйста, как я могу внедрить как iframe этот скрипт на мой лендинг?
Как iframe конечно.
УдалитьЭтот комментарий был удален автором.
УдалитьСпасибо, Александр за работу.
УдалитьПодскажите, пожалуйста, как данный файл разместить в виде iframe?
Спасибо, Александр за работу.
УдалитьПодскажите, пожалуйста, как разместить итоговый файл в iframe?
См. комментарий в коде скрипта
Удалить/*
return res;
return 'Файл(ы) загружен(ы), йо! ' + res.join(', ');
*/
Он отправляет в браузер ответ. Из этого ответа можно построить список файлов.
Здравствуйте,как сделать чтобы выдавал ссылку на файл ?
ОтветитьУдалитьКак сделать общедоступным?
Файл загружен,йо ссылка:
Сама Форма не сможет вернуть респонденту ссылку на файл. Необходимо либо писать скрипт, либо искать альтернативное решение.
УдалитьВозможно, я неправильно вас понял. Если вы хотите ответить ссылкой на декйствия пользователя, вы можете попробовать что-то из комментариев, которые я добавил для вас в коде https://gist.github.com/contributorpw/3fa2ced154c5bec393d6#file-code-gs-L53
УдалитьДобрый день,А для отправки файлов данным способом нужен аккаунт google тем кто отправляет?
ОтветитьУдалитьЕсли делать по примеру из поста, то таких ограничений нет.
УдалитьДобрый день, при загрузке скрипта на сайт вместо формы выходит ошибка - Не удалось найти функцию скрипта: doGet.
ОтветитьУдалитьПодскажите, в чем может быть проблема?
Нужно проверить, весь ли код содержит ваш проект.
УдалитьДобрый день, при размещении формы на своем сайте, появляется ошибка - Не удалось найти функцию скрипты doGet. Подскажите, в чем проблема?
ОтветитьУдалитьХм, очень интересно. Возможно, после внесения изменений вам нужно еще раз создать новую версию и опубликовать именно ее. В этой папке полностью рабочий код https://drive.google.com/folderview?id=0Bztea6vSatozfkxoeDQ3ZFVEeUFxYmM3UVVha3otSjEtYXFockhBcldoOWh5TkJodGxodGs&usp=sharing
УдалитьНе было общего доступа у главной папки, работает. Спасибо
УдалитьЗдравствуйте, странно, но место ссылки на диск залетает FileUpload http://prntscr.com/s3z17s
ОтветитьУдалитьК сожалению, не смогу по картинке что-либо определить. В оригинале все ок https://docs.google.com/spreadsheets/d/1toHBN8rPp9d0GFQQY8XEypMS-CkKoMAvcfQMkyulrR0/edit?usp=sharing Попробуйте задать вопрос тут https://contributor.pw/contacts/
Удалитьcстолкнулся с тойже проблемой FileUpload
Удалитьhttps://script.google.com/home/projects/1AehGwEa1zJanCNtzaqAAaWlvk5GnH6T7H7N7Rg78Xk0974YUgD2aojxv/edit
К сожалению, оперативность не в приоритете на данный момент.
УдалитьДобрый день, очень полезное описание, делал все по инструкции, почему то не загружаются фалы (картинки) уже как не пробовал, данные в гугл таблицу подтягиваются но без ссылок на картинки, и без надписи "пусто" и папка для картинок остается пустой ( Что может быть не так подскажите пожалуйста.
ОтветитьУдалитьПришлите свой проект. Навскидку сказать сложно.
УдалитьУ меня тоже самое, как вы решили проблему ?
УдалитьЯ нашел проблему. Постараюсь опубликовать новую версию в ближайшее время.
УдалитьПриветствую! Что может быть загружается файл, но открыть его невозможно, если скачать его тот же прикол ? Что может быть не так ???
ОтветитьУдалитьСкорее всего проблема в расширении файла. По какой-то причине Диск его не распознает. Нужно посмотреть на ваш проект и файлы, которые вы загружаете.
УдалитьПривет, а как убрать лимит в 10 мб на загружаемый файл?
ОтветитьУдалитьПо идее, ограничение на данный момент 50Мб. Есть и другие способы загрузки, когда лимин 5Тб.
УдалитьПривет, спасибо за скрипт, а как убрать лимит на загружаемый файл? 10 мб который
ОтветитьУдалитьИспользуя этот способ - никак. Следите за обновлениями на https://contributor.pw/, скоро выложу там код, который обновит этот пример. Разрешенный размер файлов до 5Tb.
УдалитьАлександр, добрый день!
УдалитьСкажите, где можно почитать о способе загрузки с лимитом в 5тб?
Есть какой-нибудь гайд внятный?
Спасибо!
Пока гайда нет. Пришлось отрабатывать безопасность. Проверяю на клиентах.
УдалитьАналогично некоторым комментариям тут.
ОтветитьУдалитьне загружаются фалы (картинки), данные в гугл таблицу подтягиваются но без ссылок на картинки, и без надписи "пусто" и папка для картинок остается пустой. Что может быть не так подскажите пожалуйста.
К сожалению, код старый. Необходимо обновить
Удалитьно тогда он бы и у вас не работал?
УдалитьДа, этому посту 9 лет. И это уже вторая версия. До этого был запрещен прямой доступ к загрузке. Сейчас, кажется, изменен тип чтения поля file
УдалитьЭтот комментарий был удален автором.
УдалитьДень добрый, никто так и не разобрался с тем, что не загружаются файлы (странно, что у автора скрипт рабочий, магия какая-то)? Сижу весь день сегодня голову ломаю, пока не смог побороть эту проблему...
ОтветитьУдалитьУже даже тупо файл скрипта рабочего копировал с диска автора на свой диск и id-шники менял, один хрен не работает, мистика...
УдалитьЯ не программист, знания в написании кода +/- самоучка, потому может что не так сделал (но вроде работает). Часть кода с отправкой сообщения на email вырезал (у меня отдельный скрипт на рассылку по email из гугл таблиц по тригеру после обновления документа потому еще и поле email из формы копирую в таблицу). Оставил только одну кнопку загрузки файла и переписал часть кода html/скрипта. К сожалению в "комментариях" не получается вставить куски кода. Могу как-то отправить (возможно автору чтобы выложил), может кому пригодится как мне?
Удалитьhttps://script.google.com/d/1ds_D_bElm8R0SzEa4_HGOwlM_3Iqu_B8vTP-AFxIpPFgkytb4Hv_yRLR/edit?usp=sharing
УдалитьСупер, огромное спасибо.
Удалить