Кажется, нет (насколько мне известно) API для редактирования Документов Google (а не электронных таблиц, их документов на основе HTML). Кто-нибудь сделал что-то вроде этого? Возможно, загрузив версию HTML, отредактировав и загрузив изменения?
Как разработчики могут программно редактировать документ Google? Существует ли API документов?
Ответ 1
Не уверен, что это именно то, что вы ищете точно, но вы посмотрели здесь http://code.google.com/apis/documents/docs/3.0/developers_guide_protocol.html Похоже, позволяет редактировать контент (v3.0 в любом случае).
Ответ 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 с его помощью, вот несколько учебных ресурсов:
- Ваш первый скрипт, который создает & редактирует документ, а затем использует Gmail для его отправки для вас.
- У меня есть 4 вступительных видео для вас (в основном, со вкусом листов)
- Они находятся в этом плейлисте (см. видео 5, 8, 22, 24)
- Все последующие видео будут в этой серии
- Полезные страницы в официальных документах
- Как использовать Google Docs с помощью скрипта приложений обзорная страница
- Расширьте функциональность Документов, создавая дополнения для Документов с помощью этого краткого руководства
- Сценарий приложений справочная документация для Документов 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 Диска.