Google Script не удается загрузить файл на Google Диск через iOS

#google-apps-script

#google-apps-script

Вопрос:

У меня есть сайт Google со встроенным скриптом Google, который позволяет пользователю загружать фотографию. После проверки того, что фотография относится к типу MIME-изображений и имеет размер менее 3 МБ, я копирую ее в папку на своем Google Диске.

Эта функция отлично работает с моего ноутбука Mac (как Chrome, так и Safari) и моего телефона Android (Chrome), но когда я пытаюсь использовать ее со своего iPad (как Chrome, так и Safari), я получаю:

Ошибка сети: сбой соединения из-за HTTP 500.

Я думал, что ошибка в моем Code.gs , но я сократил свой код processForm() до return true , и он по-прежнему выдает эту ошибку. Итак, теперь я думаю, что ошибка возникает при этом вызове в моем HTML-файле:

       google.script.run
    .withSuccessHandler(reportSuccess).withFailureHandler(reportFailure)
    .processForm(formData);
  

Я попытался обернуть этот код в вызовы console.log(), но потом понял, что iOS не позволяет мне видеть консоль. : P

Каким-то образом в этом вызове возникает исключение «NetworkError»; затем оно перехватывается и сообщается обработчиком сбоев reportFailure .

Опять же, этот скрипт работает на моем ноутбуке Mac и моем телефоне Android, но не на моем iPad (или iPhone коллеги).

Есть ли у кого-нибудь какие-либо идеи о том, (а) что может быть основной причиной этой проблемы во взаимодействии между Google Script и сетевым уровнем iOS и / или (б) как я мог бы обойти это?

Ответ №1:

Поскольку это отлично работает в вашем браузере с ноутбука Mac, возможно, Apple пока не разрешает запускать скрипты приложений Google на этих устройствах (iphone и ipad). Я нашел заметку о быстром запуске iOS для App Script, которая, возможно, намекает на это:

Примечание: Приложение не соответствует рекомендациям Apple по пользовательскому интерфейсу iOS. Он предназначен только для иллюстрации основных концепций и шагов, необходимых для начала работы с API выполнения сценариев Google Apps.

Комментарии:

1. Я не думаю, что опубликованный вами фрагмент означает это; вместо этого я прочитал его как просто предупреждение людям не отправлять приложение, созданное на основе этого примера кода, в App Store и ожидать, что оно пройдет. (Правила пользовательского интерфейса — это некоторые из правил, которым должны соответствовать приложения для публикации в App Store.) Тем не менее, вполне возможно, что Apple плохо работает с Google Script (пока?).

2. Поскольку он не работает на iPhone и iPad, это означает, что на данный момент он не поддерживается. Главным доказательством является то, что он хорошо работает на вашем Macbook, который является продуктом Apple.

3. Ну, это даже не обязательно означает, что он не поддерживается прямо сейчас. Возможно, есть какой-то необычный обходной путь, который я еще не нашел. Но я согласен, что он определенно работает, по крайней мере, на моем ноутбуке Apple. 🙂 Я должен был написать «iOS» вместо «Apple» выше.