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

StackOverflow https://stackoverflow.com/questions/2438795

Вопрос

Кажется, не существует (насколько мне известно) 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, как следует из вопроса, кажется единственным другим способом.Я пробовал это и столкнулся с несколькими проблемами.

  1. Комментарии преобразуются в цитаты и добавляются в конец документа.
  2. Если кто-то другой редактирует документ через браузер, любые изменения, внесенные им между чтением API и временем обновления, теряются.
  3. Обновления документа могут нарушить форматирование.Например, я обновлял документ несколько раз, и вертикальное расстояние между некоторыми элементами (h1, h2 и т. д.) каждый раз увеличивалось и портило документ.
  4. При обновлении 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, вот несколько учебных ресурсов:

Простой пример:если у вас есть документ с идентификатором файла (Диск) 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 Диска.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top