Answers:
如果您下载文档的当前版本,请在浏览器(Firefox)的“下载”窗口中右键单击下载,然后复制URL。然后,只需&revision=NNN
将此新URL粘贴并粘贴到浏览器地址栏中,然后按Enter。它将下载该特定修订版。
因此,剩下的唯一工作就是找出您需要使用哪个修订ID。
为此,请访问developers.google.com修订列表,然后单击立即尝试,然后输入文档的fileId,即docs.google.com/document/d/
编辑时在浏览器网址栏中的长字符字符串和数字以及下一个斜杠。文件。在您之前复制的下载URL中也可以看到它。将其粘贴到API资源管理器页面上的fileId中,单击“ 授权并执行”。
向下滚动到响应,查看ModifyedTime,然后从id字段中选择正确的数字。然后使用该号码下载您的文档。最终网址应如下所示:
docs.google.com/document/u/0/d/XXXX/export?format=docx&revision=NNN
其中XXXX
fileId NNN
是您的修订号。
nextPageToken
在JSON响应的最上方查找。将该值放入pageToken
字段中,然后再次执行。这将为您提供带有更多修订ID的新JSON响应。继续执行此操作,直到找到所需的修订ID。
我尝试按照fhackenberger的建议进行操作,但由于它仅检索了最近的几个修订,因此无法正常工作,而我希望使用近一个月的版本。
但是我确实找到了一种非常简单的下载方法。在查看版本历史记录时,在右侧的版本历史记录下选择所需的版本后,单击选项(突出显示的版本右上角的三个垂直点),然后选择“制作副本”。这下载了我想要的版本
使用Chrome,我可以针对电子表格执行此操作(不幸的是,文档无法执行此操作):
这将为您提供HTML版本
我结束了这个 https://docs.google.com/spreadsheets/u/0/d/DID/export?format=xlsx&rev=RID&gid=SID&id=DID
哪里:
Ziad的答案有助于到达此链接。
自动化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)
仍然以某种方式我只能得到一些修订,而不是全部。