Я внедряю коннектор Google Drive в веб-приложение.
По сути, когда на странице запускается известное событие, он запускает веб-крючок, который связывается с «соединителем диска», чтобы сгенерировать документ и заполнить его некоторой информацией.
Этот «коннектор диска» представляет собой пользовательский PHP, который использует Google Drive API для создания папок и файлов. Я могу создавать папки и файлы и дать им желаемый контент.
Чтобы передать содержимое документа на диск, я использую шаблон HTML (https://developers.google.com/drive/api/v3/manage-uploads), что разрешено API, прежде чем загружать его, я изменяю некоторые переменные внутри шаблона с данными, которые поступают из webhook, пока все хорошо.
Эта проблема
Я могу загрузить HTML-документ, как только я заменяю переменные на нужные данные, но он должен быть очень простым и без особых CSS. Когда я пытаюсь загрузить документ из более удобного и красивого шаблона, Google Диск не распознает много CSS и меняет внешний вид документа. Я не могу поставить заголовок или нижний колонтитул. Многие поля смещаются со своих мест и запутывают весь документ.
Чтобы мне было проще заменить переменные в шаблоне, который я выбрал для использования в любом случае, HTML, я начинаю думать, что было бы проще использовать шаблон .doc или .odt (мне нужно было бы использовать библиотеку для сделать это)
Мой вопрос
Хорошо ли использовать HTML-документ в качестве шаблона для документа Google Drive? Или я должен изменить способ, которым я пытаюсь достичь этого?
заранее спасибо
Наблюдение: Поскольку у меня действительно нет проблем с моим кодом, я не поставил ни одной строки кода, как бы то ни было. Если вам нужен HTML-шаблон, чтобы угадать, есть ли у него какие-либо проблемы, просто скажите мне.
РЕДАКТИРОВАТЬ 1 -> Я нашел это: Как разработчики могут редактировать Google Doc программным способом? Есть ли API Документов?
Это не ответ на мой вопрос, но, кажется, есть некоторые решения моей проблемы. В любом случае, я не очень ясно понял в этом посте, я не нашел надлежащей документации, поэтому я все еще борюсь за это.
РЕДАКТИРОВАТЬ 2-> Еще раз читая документацию, я подумал, что я мог бы сначала создать документ на диске Google, а затем, используя API, загрузить его в формате HTML. Таким образом, у меня будет шаблон, но я не уверен, что смогу изменить его, если захочу. Если это сработает, я отвечу на свой вопрос и закрою сообщение.
После попытки этого я не мог загрузить HTML, который был экспортирован из документа Google. Ошибка, которую дает мне API Google: код 400 сообщение: неверный запрос
Наконец я смог найти работу вокруг!
В любом случае, это не очень эффективный и хороший способ сделать это.
Как я объяснил в своем EDIT 2, я попытался вручную загрузить документ с диска Google, созданный на диске Google, и экспортировать его с HTML, поэтому у меня был шаблон в HTML. Затем я добавил свои переменные для будущих динамических замен, и все работает более или менее нормально.
Я решил проблему неправильного запроса, немного изменив документ. Кажется, вы не можете иметь один и тот же документ дважды на диске, после изменения некоторых строк кода. Он начал работать.
В любом случае, я не чувствую, что это определенный и прекрасный способ делать то, что я хочу, поэтому я буду держать пост открытым, если кто-то знает лучший способ добиться этого.
Других решений пока нет …