Как разработчики могут редактировать Google Doc программным способом? Есть ли API Документов? - PullRequest
11 голосов
/ 13 марта 2010

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

Ответы [ 6 ]

3 голосов
/ 01 марта 2017

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

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

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

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

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

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

Могут быть и другие проблемы. Это только те, которые я нашел за последние несколько дней.

2 голосов
/ 13 марта 2010

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

1 голос
/ 12 мая 2019

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

1 голос
/ 03 сентября 2014

Есть com.google.api.services.drive.model.File.getExportLinks

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

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

0 голосов
/ 17 ноября 2012

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

...