답변:
현재 버전의 문서를 다운로드하는 경우 브라우저 (Firefox)의 다운로드 창에서 다운로드를 마우스 오른쪽 단추로 클릭하고 URL을 복사하십시오. 그런 다음 &revision=NNN
이 새 URL을 브라우저 주소 표시 줄에 추가 하여 붙여넣고 Enter 키를 누르십시오. 해당 특정 개정판을 다운로드합니다.
따라서 남은 유일한 연습은 사용해야 할 개정판 ID를 찾는 것입니다.
그렇게하려면 developers.google.com 개정판 목록을 방문 하여 지금 시도를 클릭 한 다음 문서의 fileId를 입력하십시오. 문서의 파일 ID는 docs.google.com/document/d/
편집 할 때 브라우저 URL 표시 줄에서 문자와 숫자 사이의 긴 문자열 과 다음 슬래시입니다. 문서. 이전에 복사 한 다운로드 URL에도 표시됩니다. API 탐색기 페이지 의 fileId 에 해당 항목을 붙여넣고 Authorize and execute를 실행하십시오 .
응답으로 아래로 스크롤하여 modifiedTime을 보고 id 필드 에서 올바른 숫자를 선택하십시오 . 그런 다음 해당 번호를 사용하여 문서를 다운로드하십시오. 최종 도착 URL은 다음과 같아야합니다.
docs.google.com/document/u/0/d/XXXX/export?format=docx&revision=NNN
XXXX
fileId는 어디에 있으며 NNN
개정 번호입니다.
nextPageToken
JSON 응답의 맨 위를 찾으십시오 . 이 값을 pageToken
필드에 넣고 다시 실행하십시오. 이것은 더 많은 개정 ID를 가진 새로운 JSON 응답을 제공합니다. 원하는 개정판 ID를 찾을 때까지 계속하십시오.
이렇게하면 버전이 삭제되지 않습니다. 여전히 현재 버전으로 돌아갈 수 있습니다.
fhackenberger가 제안한 것을 시도했지만 지난 몇 번의 수정 사항 만 검색하여 거의 한 달 전의 버전을 원했기 때문에 작동하지 않았습니다.
그러나 나는 그것을 다운로드하는 매우 쉬운 방법을 찾았습니다. 버전 기록을 볼 때 오른쪽 버전 기록에서 원하는 버전을 선택한 후 옵션 (강조 표시된 버전의 오른쪽 상단 모서리에있는 세 개의 수직 점)을 클릭하고 "사본 만들기"를 선택하십시오. 이것은 내가 원하는 버전을 다운로드
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)
여전히 어쨌든 나는 모든 개정이 아닌 일부 개정 만 얻습니다.