Pobierz starszą wersję dokumentu z Dokumentów Google


16

Mam dokument w formacie Excela w Dokumentach Google z kilkoma wersjami. Chcę pobrać jedną ze starszych wersji na mój komputer.

W jaki sposób mogę to zrobić?

(Dokumenty Google umożliwiają pobieranie najnowszej wersji bezpośrednio z File > Download as, a nie znalazłem żadnego sposobu, aby pobrać wersje).

Odpowiedzi:


15

Jeśli pobierasz aktualną wersję dokumentu, kliknij prawym przyciskiem myszy plik do pobrania w oknie pobierania przeglądarki (Firefox) i skopiuj adres URL. Następnie po prostu dodaj &revision=NNNi wklej ten nowy adres URL do paska adresu przeglądarki i naciśnij klawisz Enter. Pobierze tę konkretną wersję.

Tak więc jedynym ćwiczeniem, które pozostało, jest ustalenie, którego identyfikatora wersji należy użyć.

W tym celu wejdź na listę wersji developers.google.com i kliknij Wypróbuj teraz , a następnie wprowadź identyfikator pliku swojego dokumentu, który jest długim ciągiem znaków i cyfr pomiędzy docs.google.com/document/d/i następnym ukośnikiem na pasku adresu URL przeglądarki podczas edycji dokument. Jest to również widoczne w skopiowanym wcześniej adresie URL pobierania. Wklej to do fileId na stronie eksploratora API trafienie Autoryzuj i wykonaj .

Przewiń w dół do odpowiedzi, spójrz na zmodyfikowany czas i wybierz poprawny numer z pola id . Następnie użyj tego numeru, aby pobrać dokument. Końcowy adres URL powinien wyglądać mniej więcej tak:

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

Gdzie XXXXjest fileId i NNNnumer wersji.


1
Głosuj za tym !!! Potwierdzono także pracę w Arkuszach Google. Zauważ, że czas pokazany w odpowiedzi JSON jest w GMT, więc chociaż właściwa historia zmian pokazuje znaczniki czasu w lokalnej strefie czasowej, musisz przekonwertować ją na GMT, zanim znajdziesz dokładną wersję.
ADTC

@ ADTC: rok później nie działa. Czy to nadal działa dla Ciebie?
Adobe

@Adobe właśnie wypróbował, działa, ale możesz mieć trudności ze znalezieniem poprawnego identyfikatora wersji z interfejsu API. Czy to gdzie utknąłeś?
ADTC

@Adobe może ta dodatkowa sztuczka pomoże ci znaleźć odpowiedni identyfikator wersji. Jeśli nie możesz znaleźć znacznika czasu GMT, którego szukasz, poszukaj nextPageTokenna samej górze odpowiedzi JSON. Wprowadź tę wartość w pageTokenpole i ponownie uruchom. To da ci nową odpowiedź JSON z większą liczbą identyfikatorów wersji. Kontynuuj tę czynność, aż znajdziesz odpowiedni identyfikator wersji.
ADTC

@ ADTC: dzięki, przy drugiej próbie miałem pewien sukces: webapps.stackexchange.com/a/106553/14417 . Wydaje mi się jednak, że nie mam „nextPageToken” przy odpowiedzi json.
Adobe

9
  • Przejdź do PlikZobacz historię zmian
  • Wybierz żądaną wersję, a następnie kliknij Przywróć tę wersję

Nie spowoduje to usunięcia żadnych wersji - nadal będziesz mógł wrócić do bieżącej wersji.

Pełny artykuł można znaleźć tutaj .


1
Ale to zmusza mnie do przywrócenia starszej wersji, której nie chcę, ponieważ inni użytkownicy przeglądają / edytują dokument w tym samym czasie. Jakieś inne podejście?
Ramesh Soni

@RameshSoni właśnie tego unika odpowiedź fhackenbergera!
ADTC

1

Próbowałem zrobić to, co sugerował fhackenberger, ale to nie zadziałało, ponieważ pobrałem tylko kilka ostatnich wersji i chciałem mieć prawie miesięczną wersję.

Ale znalazłem bardzo łatwy sposób, aby go pobrać. Gdy zobaczysz historię wersji, po wybraniu żądanej wersji pod historią wersji po prawej stronie, kliknij opcje (trzy pionowe kropki w prawym górnym rogu podświetlonej wersji) i wybierz „Wykonaj kopię”. Pobrałem wersję, którą chciałem


1

Kiedy patrzysz na historię wersji, przy każdej wersji są 3 kropki. Możesz wykonać kopię wersji i zapisać ją w dowolnym miejscu i pobrać.


0

W przeglądarce Chrome mogę to zrobić w przypadku arkuszy kalkulacyjnych (ale niestety dokumentów):

  1. Przejdź do Plik> Zobacz historię zmian
  2. Wyświetl wersję, którą chcesz pobrać
  3. Odznacz „Pokaż zmiany” (jeśli nie chcesz widzieć zmian ”
  4. Kliknij dokument prawym przyciskiem myszy i wybierz „Wyświetl źródło strony”
  5. Usuń źródło widoku: z

da ci to poprawkę w HTML


Strona HTML? Nie, dziękuję. Chcę odpowiedniego eksportu.
ADTC

0

Skończyło się na tym https://docs.google.com/spreadsheets/u/0/d/DID/export?format=xlsx&rev=RID&gid=SID&id=DID

Gdzie:

  • DID - identyfikator dokumentu (używany dwukrotnie)
  • RID - identyfikator wersji
  • SID - identyfikator arkusza kalkulacyjnego (mam arkusz kalkulacyjny z wieloma arkuszami i potrzebowałem tylko jednego)

Odpowiedź Ziada pomogła dotrzeć do tego linku.


0

Automatyzacja odpowiedzi fhackenbergera :

#!/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)

Nadal w jakiś sposób otrzymuję tylko kilka poprawek, nie wszystkie.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.