Téléchargez une ancienne version d'un document sur Google Docs

16

J'ai un document de feuille Excel sur Google Docs avec plusieurs révisions. Je souhaite télécharger une de ses anciennes versions sur ma machine.

Comment puis-je faire ceci?

(Google Docs permet de télécharger la dernière version directement à partir de File > Download as, et je n'ai trouvé aucun moyen de télécharger les révisions.)

Ramesh Soni
la source

Réponses:

15

Si vous téléchargez la version actuelle de votre document, faites un clic droit sur le téléchargement dans la fenêtre Téléchargements de votre navigateur (Firefox) et copiez l'URL. Ensuite, ajoutez &revision=NNNet collez simplement cette nouvelle URL dans la barre d'adresse de votre navigateur et appuyez sur Entrée. Il téléchargera cette révision spécifique.

Le seul exercice qui reste est donc de savoir quel ID de révision vous devez utiliser.

Pour ce faire, visitez la liste des révisions de developers.google.com et cliquez sur Essayer maintenant , puis entrez l'ID de fichier de votre document, qui est la longue chaîne de caractères et de chiffres entre docs.google.com/document/d/et la prochaine barre oblique dans la barre d'URL de votre navigateur lors de la modification. le document. Il est également visible dans l'URL de téléchargement que vous avez copiée auparavant. Collez cela dans le fileId sur la page de l'explorateur d'API et cliquez sur Autoriser et exécuter .

Faites défiler vers le bas jusqu'à la réponse, regardez le modifiedTime et choisissez le bon numéro dans le champ id . Utilisez ensuite ce numéro pour télécharger votre document. L'URL finale devrait ressembler à ceci:

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

XXXXest le fileId et NNNest votre numéro de révision.

fhackenberger
la source
1
Upvote this !!! Confirmation du travail pour Google Sheets également. Notez que l'heure indiquée dans la réponse JSON est en GMT, donc bien que l'historique des révisions affiche correctement les horodatages de votre fuseau horaire local, vous devez les convertir en GMT avant de pouvoir trouver la révision exacte.
ADTC
@ADTC: un an plus tard ne semble pas fonctionner. Cela fonctionne-t-il toujours pour vous?
Adobe
@Adobe vient d'essayer, cela fonctionne, mais vous aurez peut-être du mal à trouver l'ID de révision correct dans l'API. C'est là que tu es coincé?
2017 ADTC
@Adobe peut-être que cette astuce supplémentaire vous aidera à trouver l'ID de révision que vous souhaitez. Si vous ne trouvez pas l'horodatage GMT que vous recherchez, recherchez nextPageTokentout en haut de la réponse JSON. Mettez cette valeur dans le pageTokenchamp et exécutez à nouveau. Cela vous donnera une nouvelle réponse JSON avec plus d'ID de révision. Continuez ainsi jusqu'à ce que vous trouviez l'ID de révision souhaité.
ADTC
@ADTC: merci, au deuxième essai, j'ai eu une sorte de succès: webapps.stackexchange.com/a/106553/14417 . Cependant, je ne semble pas avoir "nextPageToken" à la réponse json.
Adobe
9
  • Allez dans FichierVoir l'historique des révisions
  • Sélectionnez la version souhaitée puis cliquez sur Restaurer cette version

Cela ne supprimera aucune version - vous pourrez toujours revenir à la version actuelle.

L'article complet se trouve ici .

codingbadger
la source
1
Mais cela m'oblige à restaurer une version plus ancienne dont je ne veux pas car d'autres utilisateurs visualisent / éditent le document en même temps. Une autre approche?
Ramesh Soni
@RameshSoni, c'est exactement ce que la réponse de fhackenberger évite!
ADTC
1

J'ai essayé de faire ce que fhackenberger a suggéré mais cela n'a pas fonctionné car il n'a récupéré que les dernières révisions et je voulais une version vieille d'un mois.

Mais j'ai trouvé un moyen très simple de le télécharger. Lorsque vous voyez l'historique des versions, après avoir sélectionné la version que vous voulez sous l'historique des versions à droite, cliquez sur les options (trois points verticaux dans le coin supérieur droit de la version en surbrillance) et sélectionnez "Faire une copie". Cela a téléchargé la version que je voulais

Sreenath C
la source
1

Lorsque vous regardez l'historique des versions, il y a 3 points à côté de chaque version. Vous pouvez faire une copie d'une version et l'enregistrer où vous le souhaitez et la télécharger.

Chad Foutch
la source
0

En utilisant Chrome, je peux le faire pour les feuilles de calcul (mais pas pour les documents malheureusement):

  1. Allez dans Fichier> Voir l'historique des révisions
  2. Affichez la révision que vous souhaitez télécharger
  3. Décochez "Afficher les modifications" (si vous ne souhaitez pas voir les modifications "
  4. Faites un clic droit sur votre document et sélectionnez "Afficher la source de la page"
  5. Supprimer la vue-source: de

cela vous donnera la révision en HTML

Ziad WAKIM
la source
Une page HTML? Non merci. Je veux l'export approprié.
ADTC
0

Je me suis retrouvé avec ça https://docs.google.com/spreadsheets/u/0/d/DID/export?format=xlsx&rev=RID&gid=SID&id=DID

Où:

  • DID - ID du document (utilisé deux fois)
  • RID - ID de révision
  • SID - id de feuille de calcul (j'ai une feuille de calcul avec plusieurs feuilles et je n'en avais besoin que d'une)

La réponse de Ziad a aidé à arriver à ce lien.

Sandis Sauka
la source
0

Automatiser la réponse de fhackenberger :

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

D'une manière ou d'une autre, je ne reçois que quelques révisions, pas toutes.

Adobe
la source