Как разработчики могут редактировать документ Google программно?Есть ли API Документов?
Вопрос
Кажется, не существует (насколько мне известно) API для редактирования Документов Google (а не электронных таблиц, их документов на основе HTML).Кто-нибудь делал что-то подобное?Может быть, загрузив HTML-версию, отредактировав и загрузив изменения?
Решение
Не совсем уверен, что это именно то, что вы ищете, но вы заглянули сюда? http://code.google.com/apis/documents/docs/3.0/developers_guide_protocol.html Похоже, он позволяет редактировать контент (во всяком случае, версия 3.0).
Другие советы
А API списка документов устарел с сентября 2012 года и похоже, что это может быть на пенсии после апреля 2015 г..
Обновление HTML-версии с использованием Drive API, как следует из вопроса, кажется единственным другим способом.Я пробовал это и столкнулся с несколькими проблемами.
- Комментарии преобразуются в цитаты и добавляются в конец документа.
- Если кто-то другой редактирует документ через браузер, любые изменения, внесенные им между чтением API и временем обновления, теряются.
- Обновления документа могут нарушить форматирование.Например, я обновлял документ несколько раз, и вертикальное расстояние между некоторыми элементами (h1, h2 и т. д.) каждый раз увеличивалось и портило документ.
- При обновлении API курсор любого лица в документе перемещается в верхнюю часть страницы.
Могут быть еще проблемы.Это только те, которые я нашел за последние несколько дней.
ОБНОВЛЕНИЕ (май 2019 г.) API Документов Google был официально запущен в феврале 2019 года.Документация находится по ссылке из моего июльского обновления ниже.Через несколько недель после запуска я подготовил общий видеообзор того, как будет выглядеть приложение для слияния почты, использующее API.(это не полноценный Выставка разработчиков G Suite эпизод, но есть ссылка на рабочий образец.)
ОБНОВЛЕНИЕ (июль 2018 г.) Команда Google Docs заранее анонсировала предстоящий REST API на Google Cloud NEXT '18.Разработчикам, заинтересованным в участии в программе раннего доступа к новому API, следует зарегистрироваться на сайте https://developers.google.com/docs.Исходный ответ ниже остается в силе, поскольку REST API станет второй способ программного доступа к Документам Google.
Оригинальный ответ (март 2017 г.):(Большинство других ответов устарели.) Документы Google в настоящее время не имеют REST API, однако разработчики могут программно получать доступ к документам (CRUD), используя Скрипт Google Apps, серверные приложения JavaScript, которые размещаются и запускаются в облаке Google.Если вы новичок в Apps Script или в редактировании с его помощью Документов Google, вот несколько учебных ресурсов:
- Ваш первый сценарий который создает и редактирует документ, затем использует Gmail, чтобы отправить его вам.
- У меня есть для вас 4 вступительных видео (в основном со вкусом Sheets)
- Они в этот плейлист (см. видео 5, 8, 22, 24)
- Все предстоящие видео будут в эта серия
- Полезные страницы в официальной документации
- Как CRUD Документы Google с помощью скрипта приложений обзорная страница
- Расширьте функциональность Документов, создав надстройки Документов с помощью это краткое руководство
- Скрипт приложений справочная документация для Документов Google (служба документов)
- Видеть Дополнения к Google Документам что другие разработчики создали
Простой пример:если у вас есть документ с идентификатором файла (Диск) DOCUMENT_ID_GOES_HERE
, вот как вы в основном редактируете его с помощью Apps Script, выполняя псевдо-"слияние почты" имени и адреса электронной почты в документ с заданными заполнителями. {NAME}
и {ADDR}
:
function mergeNameEmail() {
// Open a document by ID
var doc = DocumentApp.openById(DOCUMENT_ID_GOES_HERE);
// Access the body of the document
var body = doc.getBody();
// Merge name & address from template
body.replaceText("{NAME}", "Ima Developer");
body.replaceText("{ADDR}", "123 Main St, Anytown, XX 00000");
}
Существует com.google.api.services.drive.model.File.getExportLinks.
Вы можете получить документ Google в формате docx (например), отредактировать его с помощью своего любимого редактора docx, а затем загрузить снова.Видеть образцы для этого (начиная с GoogleDriveСкачать какDocx) в контексте docx4j.Обратите внимание ПРОЧТИ МЕНЯ.
Или сделайте то же самое с любым другим форматом экспорта.
(2019) Google теперь предоставляет API для документов, слайдов, листов, диска.
Для этого есть пример приложения, ДокторРедактировать, в документации Google Диска.