Как разработчики могут программно редактировать документ Google? Есть ли API документов?

кажется, нет (насколько мне известно) API для редактирования документов Google (а не электронных таблиц, их документов на основе HTML). Кто-нибудь делал что-то подобное? Может быть, загрузив HTML-версию, отредактировав и загрузив изменения?

5 ответов


не совсем уверен, что это то, что вы ищете точно, но вы взглянули здесь http://code.google.com/apis/documents/docs/3.0/developers_guide_protocol.html похоже, что он позволяет редактировать контент (v3.0 в любом случае).


на API списка документов устарело с сентября 2012 года и похоже, что это может быть ушел в отставку после апреля 2015.

обновление версии HTML с помощью API диска, как следует из вопроса, выглядит единственным другим способом. Я пробовал это, и я испытал несколько проблем.

  1. комментарии преобразуются в цитаты и добавляются в конец документа.
  2. если кто-то редактирует документ с помощью браузер любые изменения, внесенные ими между временем чтения и обновления API, теряются.
  3. обновления документа могут нарушить форматирование. Например, я обновил документ несколько раз, и вертикальное расстояние между некоторыми элементами (h1, h2 и т. д.) продолжало расширяться каждый раз и разрушало документ.
  4. при обновлении API курсор любого пользователя документа перемещается в верхнюю часть страницы.

там может быть больше проблем. Это только те, что я нашел в последние несколько дней.


для этого есть пример приложения,Dr. Edit, в документации Google Диска.


есть com.гуглить.прикладной программный интерфейс.сервисы.водить.модель.Файл.getExportLinks

вы можете получить документ Google в качестве docx (например), отредактировать его с помощью своего любимого редактора docx, а затем загрузить снова. См.образцы для этого (начиная с GoogleDriveDownloadAsDocx) в контексте docx4j. Обратите внимание на README.

или сделайте то же самое с любым другим форматом экспорта.


июль 2018 обновление: команда Google Docs предварительно объявила о предстоящем REST API в Google Cloud NEXT ' 18. Разработчики, заинтересованные в получении программы раннего доступа для нового API, должны зарегистрироваться по адресуhttps://developers.google.com/docs. Оригинальный ответ ниже по-прежнему стоит, поскольку REST API станет 2-м способом программного доступа к Google Docs.

оригинальный ответ: Google Docs в настоящее время не имеет REST API, однако разработчики могут программно обращаться к документам (CRUD) с помощью Скрипт Google Apps, серверные приложения JavaScript, которые размещаются и запускаются в облаке Google. Если вы новичок в скрипте приложений или редактировании документов Google с ним, вот некоторые учебные ресурсы:

  • ваш первый скрипт который создает и редактирует документ, а затем использует Gmail для его отправки для вас.
  • у меня есть 4 интро видео для вас (в основном Листы-ароматизированные)
  • полезные страницы в официальных документах
  • посмотреть дополнения Google Docs что другие разработчики встроили

простой пример: если у вас есть существующий документ с идентификатором файла (диска)DOCUMENT_ID_GOES_HERE, вот как вы в основном отредактируете его с помощью скрипта приложений, сделав псевдо - "слияние" имени и электронной почты в документ, заданный заполнителями {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");
}