Почему добавление изображения в форму Google с помощью Form.addImageItem () приводит к «Неправильная форма обновления данных»? - PullRequest
1 голос
/ 15 июня 2019

Я пытаюсь автоматически вставить изображение с диска 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...