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

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

Ответ 2

API-список документов устарел с сентября 2012 года и выглядит так: вышел на пенсию после апреля 2015 года.

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

  • Комментарии преобразуются в цитаты и добавляются в конец документа.
  • Если кто-то редактирует документ через браузер, любые изменения, сделанные ими между временем чтения API и обновлением, теряются.
  • Обновления документа могут нарушить форматирование. Например, я несколько раз обновлял документ и вертикальное расстояние между некоторыми элементами (h1, h2 и т.д.) Постоянно расширялось и разрушало документ.
  • При обновлении API курсор любого из документа переносится в начало страницы.

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

Ответ 3

ОБНОВЛЕНИЕ (май 2019 г.) API Документов Google был официально запущен в феврале 2019 г. Документация находится по ссылке из моего обновления в июле ниже. Через несколько недель после запуска я подготовил общий обзор видео того, как будет выглядеть приложение для слияния, использующее API. (Это не полноценный эпизод G Suite Dev Show, но ссылка на рабочий образец.)

ОБНОВЛЕНИЕ (июль 2018 г.) Команда Google Docs предварительно объявила о предстоящем API REST на Google Cloud NEXT '18. Разработчики, заинтересованные в получении доступа к программе раннего доступа к новому API, должны зарегистрироваться по адресу https://developers.google.com/docs. Исходный ответ, приведенный ниже, остается в силе, поскольку REST API станет вторым способом, которым вы можете получить программный доступ к Документам Google.

Оригинальный ответ (март 2017 г.): (Большинство других ответов устарели.) В настоящее время Документы Google не имеют API REST, однако разработчики могут программно получать доступ к документам (CRUD) с помощью скрипта Служб Google, сервер- сторонние приложения JavaScript, которые размещаются и работают в облаке Google. Если вы новичок в скрипте приложений или редактировании Документов Google с его помощью, вот несколько учебных ресурсов:

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

Ответ 4

Существует com.google.api.services.drive.model.File.getExportLinks

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

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

Ответ 5

(2019) Google теперь предоставляет API для документов, слайдов, листов, дисков.

Ответ 6

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