Загрузите старую версию документа в Google Docs


16

У меня есть документ Excel в Документах Google с несколькими ревизиями. Я хочу загрузить одну из его старых версий на мою машину.

Как я могу это сделать?

(Документы Google позволяют загружать последнюю версию напрямую File > Download as, и я не нашел способа загрузить ревизии.)

Ответы:


15

Если вы загружаете текущую версию документа, щелкните правой кнопкой мыши загрузку в окне «Загрузки» своего браузера (Firefox) и скопируйте URL-адрес. Затем просто добавьте &revision=NNNи вставьте этот новый URL в адресную строку браузера и нажмите Enter. Он загрузит эту конкретную ревизию.

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

Для этого перейдите к списку редакций developers.google.com и нажмите « Попробовать сейчас» , затем введите fileId вашего документа, представляющий собой длинную строку символов и цифр между docs.google.com/document/d/следующей косой чертой в строке URL-адреса вашего браузера при редактировании. документ. Это также видно по URL-адресу загрузки, который вы скопировали ранее. Вставьте это в fileId на странице проводника API, нажав « Авторизовать и выполнить» .

Прокрутите вниз до ответа, посмотрите на изменение времени и выберите правильный номер в поле идентификатора . Затем используйте этот номер для загрузки вашего документа. Конечный URL должен выглядеть примерно так:

docs.google.com/document/u/0/d/XXXX/export?format=docx&revision=NNN

Где XXXXнаходится идентификатор файла и номер NNNвашей ревизии.


1
Upvote это! Подтвердил работу и для Google Sheets. Обратите внимание, что время, указанное в ответе JSON, указано в GMT, поэтому, хотя в самой истории изменений отображаются метки времени в вашем местном часовом поясе, вам необходимо преобразовать это время в GMT, чтобы найти точную версию.
ADTC

@ADTC: год спустя, похоже, не работает. Это все еще работает для вас?
Adobe

@Adobe только что попробовал, это работает, но вам может быть трудно найти правильный идентификатор ревизии в API. Это где ты застрял?
ADTC

@ Adobe может быть, этот дополнительный трюк поможет вам найти нужный идентификатор ревизии. Если вы не смогли найти искомую временную метку GMT, посмотрите nextPageTokenв самом верху ответа JSON. Поместите это значение в pageTokenполе и выполните снова. Это даст вам новый ответ JSON с большим количеством идентификаторов ревизий. Продолжайте делать это, пока не найдете нужный идентификатор версии.
ADTC

@ADTC: спасибо, со второй попытки у меня был какой-то успех: webapps.stackexchange.com/a/106553/14417 . Тем не менее, я не вижу "nextPageToken" в ответе json.
Adobe

9
  • Перейти к файлусм. Историю изменений
  • Выберите версию, которую вы хотите, затем нажмите Восстановить эту версию

Это не удалит никакие версии - вы все равно сможете вернуться к текущей версии.

Полный текст статьи можно найти здесь .


1
Но это вынуждает меня восстанавливать более старую версию, которую я не хочу, потому что другие пользователи одновременно просматривают / редактируют документ. Любой другой подход?
Рамеш Сони

@RameshSoni - это именно то, чего избегает ответ fhackenberger!
ADTC

1

Я попытался сделать то, что предложил fhackenberger, но это не сработало, поскольку он извлек только последние несколько ревизий, и я хотел почти месячную версию.

Но я нашел очень простой способ скачать его. При просмотре истории версий после выбора нужной версии в истории версий справа щелкните параметры (три вертикальных точки в верхнем правом углу выделенной версии) и выберите «Сделать копию». Это скачал версию, которую я хотел


1

Когда вы смотрите историю версий, рядом с каждой версией есть 3 точки. Вы можете сделать копию версии и сохранить ее в любом месте и загрузить.


0

Используя Chrome, я могу сделать это для электронных таблиц (но, к сожалению, не для документов):

  1. Перейти к файлу> см. Историю изменений
  2. Показать ревизию, которую вы хотите скачать
  3. Снимите флажок «Показать изменения» (если вы не хотите видеть изменения »
  4. Щелкните правой кнопкой мыши на вашем документе и выберите «View Source Source»
  5. Удалить вид источника: от

это даст вам ревизию в HTML


HTML-страница? Спасибо, не надо. Я хочу правильный экспорт.
ADTC

0

Я закончил с этим https://docs.google.com/spreadsheets/u/0/d/DID/export?format=xlsx&rev=RID&gid=SID&id=DID

Где:

  • DID - идентификатор документа (используется дважды)
  • RID - идентификатор версии
  • SID - идентификатор таблицы (у меня есть таблица с большим количеством листов, и мне нужен только один)

Ответ Зиада помог перейти по этой ссылке.


0

Автоматизация ответа Факенбергера :

#!/usr/bin/env ruby

require 'json'
require 'active_support/core_ext/date' # required for timezone calculation; gem install activesupport
# require 'byebug'


# ========
## inputs:

jsonFile       = 'revisions.json' # file with json response obtained from https://developers.google.com/drive/v3/reference/revisions/list#try-it
docId          = 'you doc id' # e.g.: M67keINXrkCAPy9HyGEgyM5Q175yFM8byQeM953alao3
dateStartsWith = 'May 30'
format         = 'xlsx' # xlsx or docx
timezone       = 'Moscow' # list all timezones: ruby -e "require 'active_support/core_ext/date'; puts ActiveSupport::TimeZone.all.map(&:name)"


# =========
## program:

jsonString = File.read(jsonFile)
jsonData   = JSON.parse(jsonString)

# add local time stamps:
jsonData['revisions'].each { |rev| rev["localTimeStamp"] = Time.parse(rev["modifiedTime"]).in_time_zone(timezone).strftime("%b %e, %k:%M:%S %p, %Y") }

if format == 'xlsx'
  type = 'spreadsheets'
else
  format = 'docx'
  type = 'document'
end

revs = jsonData['revisions'].select {|rev| rev["localTimeStamp"].start_with?(dateStartsWith) }.each { |rev| rev["link"] = "https://docs.google.com/#{type}/u/0/d/#{docId}/export?format=#{format}&revision=#{rev['id']}" }

puts JSON.pretty_generate(revs)

Тем не менее, я получаю только некоторые изменения, но не все.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.