Я пытаюсь автоматически вставить изображение с диска Google в форму Google с помощью скрипта Google с помощью функции addImage, которая недавно перестала работать и приводит к сообщению об ошибке «Недопустимое обновление данных формы».
Я использую формы Google, чтобы позволить пользователям вводить текст из изображений.Какое-то ручное распознавание изображений.Изображения хранятся на диске Googel в каталоге.Скрипт Google вставляет их в форму и добавляет несколько вопросов с короткими ответами, вопросами с несколькими вариантами ответов и разрывами страниц.
Так что до недавнего времени все работало, но теперь функция addImage формы возвращает сообщение об ошибке
Неверная форма обновления данных.
Я пытался сделать следующее:
- создал новую форму с новым сценарием для проверки функции addImageItem(источник ниже)
- проверил, что все другие функции для добавления элементов в форму, кроме addImageItem (например, addMultipleChoiceItem, addPageBreakItem, addCheckboxItem, addTextItem) все еще работают
- добавить изображение вручную, чтобы увидеть, работает ли оно по-прежнему
- использовать другие форматы в качестве источника изображения (JPG и PNG)
- использовать разные файлы на диске Google в качестве источника изображения
- использовать функцию UrlFetchApp.fetch в качестве источника изображения (как в пример документации )
Все попытки с addImageItem безуспешны.Функции addMultipleChoiceItem, addPageBreakItem, addCheckboxItem, addTextItem возвращают желаемый результат, добавляя элементы в форму.Кроме того, добавление изображения вручную с помощью интерфейса редактирования формы все еще работает.
Размеры обновляемых изображений составляют около 60 КБ, размером около 800x600 пикселей.
Ответы на этой ветки от 2012 , которая выглядит аналогично, не помогают.Сообщения об ошибках в вопросе разные.Я также попытался использовать функции getBlob () и getThumbnail (), как указано в ответах, но они также приводят к ошибке «Неверная форма обновления данных».
function myFunction() {
var form = FormApp.openById("drive_file_id_of_form");
var img = DriveApp.getFileById("drive_file_id_of_image");
var imgFormItem = form.addImageItem();
imgFormItem.setImage(img);
//var img = UrlFetchApp.fetch('https://www.google.com/images/srpr/logo4w.png');
//var blob = img.getThumbnail();
//var blob = img.getBlob();
//form.addImageItem().setImage(blob);
}
Согласно документация google , addImage должен вернуть вновь созданный ImageItem в качестве возвращаемого значения, но привести к ошибке в строке 4:
Неверные данные для обновления формы.(строка 4, файл "Код")
Может кто-нибудь помочь мне выяснить, что является недопустимым в данных формы или на изображениях, которые я пытаюсь добавить, и как избежать этой проблемы?
Изменить: нашел новый идентификатор трекера ошибок для этой темы в трекере проблем Google