Google Docsにいくつかの改訂版を含むExcelシートドキュメントがあります。古いバージョンの1つをマシンにダウンロードしたい。
これどうやってするの?
(GoogleドキュメントではFile > Download as
から直接最新バージョンをダウンロードできますが、リビジョンをダウンロードする方法が見つかりませんでした。)
ドキュメントの現在のバージョンをダウンロードする場合は、ブラウザ(Firefox)の[ダウンロード]ウィンドウでダウンロードを右クリックし、URLをコピーします。次に、&revision=NNN
を追加し、この新しいURLをブラウザーのアドレスバーに貼り付けて、Enterキーを押します。その特定のリビジョンをダウンロードします。
したがって、残っている唯一の演習は、使用する必要があるリビジョンIDを見つけることです。
それを行うには、 developers.google.comの改訂リスト にアクセスしてをクリックしてください、今すぐドキュメントのfileIdを入力してください。 docs.google.com/document/d/
とブラウザのURLバーの次のスラッシュとの間の文書を編集する際の文字と数字の長い文字列。以前にコピーしたダウンロードURLにも表示されます。これをAPI ExplorerページのfileIdに貼り付けてヒットAuthorize and executeします。
応答までスクロールし、modifiedTimeを見て、idフィールドから正しい番号を選択します。次に、その番号を使用してドキュメントをダウンロードします。最終URLは次のようになります。
docs.google.com/document/u/0/d/XXXX/export?format=docx&revision=NNN
ここで、XXXX
はfileIdであり、NNN
はリビジョン番号です。
これにより、バージョンが削除されることはありません。現在のバージョンに戻ることができます。
バージョン履歴を見ると、各バージョンの横に3つのドットがあります。バージョンのコピーを作成し、好きな場所に保存してダウンロードできます。
私はfhackenbergerが提案したことを試してみましたが、最後のいくつかのリビジョンしか取得できなかったので機能しませんでした。また、ほぼ1か月前のバージョンが必要でした。
しかし、私はそれをダウンロードする非常に簡単な方法を見つけました。バージョン履歴を表示しているときに、右側のバージョン履歴で必要なバージョンを選択した後、オプション(強調表示されたバージョンの右上隅にある3つの縦のドット)をクリックして、「コピーを作成」を選択します。これは私が欲しかったバージョンをダウンロードしました
自動化 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)
それでも、どういうわけか私はそれらのすべてではなく、いくつかのリビジョンのみを取得します。
Chromeを使用すると、スプレッドシートに対してこれを行うことができます(残念ながらドキュメントはできません):
これにより、HTMLで改訂が行われます
私はこれで終わったhttps://docs.google.com/spreadsheets/u/0/d/DID/export?format=xlsx&rev=RID&gid=SID&id=DID
どこ:
Ziadの答え このリンクにたどり着いた。