ดาวน์โหลดเอกสารเวอร์ชันที่เก่ากว่าบน Google เอกสาร


16

ฉันมีเอกสารแผ่นงาน Excel ใน Google เอกสารที่มีการแก้ไขหลายครั้ง ฉันต้องการดาวน์โหลดรุ่นเก่าลงในเครื่องของฉัน

ฉันจะทำสิ่งนี้ได้อย่างไร

(Google เอกสารอนุญาตให้ดาวน์โหลดเวอร์ชันล่าสุดโดยตรงจากFile > Download asและฉันไม่พบวิธีดาวน์โหลดการแก้ไข)

คำตอบ:


15

หากคุณดาวน์โหลดเวอร์ชันปัจจุบันของเอกสารของคุณคลิกขวาที่การดาวน์โหลดในหน้าต่างดาวน์โหลดของเบราว์เซอร์ (Firefox) และคัดลอก URL จากนั้นก็ต่อท้าย&revision=NNNและวาง URL ใหม่นี้ในแถบที่อยู่ของเบราว์เซอร์และกด Enter มันจะดาวน์โหลดการแก้ไขที่เฉพาะเจาะจง

ดังนั้นแบบฝึกหัดเดียวที่เหลือคือการหา ID การแก้ไขที่คุณต้องใช้

ในการดำเนินการดังกล่าวให้ไปที่รายการ Developers.google.com ฉบับปรับปรุงและคลิกที่ลองทันทีจากนั้นป้อนไฟล์รหัสของเอกสารของคุณซึ่งเป็นสตริงอักขระและตัวเลขที่ยาวระหว่างdocs.google.com/document/d/และเครื่องหมายทับถัดไปในแถบ URL เบราว์เซอร์ของคุณเมื่อทำการแก้ไข เอกสาร นอกจากนี้ยังปรากฏใน URL ดาวน์โหลดที่คุณคัดลอกมาก่อน วางที่เข้าไปในfileID 'บนหน้า API สำรวจตีอนุญาตและดำเนินการ

เลื่อนลงไปที่การตอบสนองดูที่modifiedTimeและเลือกหมายเลขที่ถูกต้องจากIDฟิลด์ จากนั้นใช้หมายเลขนั้นเพื่อดาวน์โหลดเอกสารของคุณ URL สุดท้ายควรมีลักษณะดังนี้:

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

XXXXfileId อยู่ที่ไหนและNNNเป็นหมายเลขแก้ไขของคุณ


1
โหวตสิ่งนี้ !!! ยืนยันว่าใช้งานได้กับ Google ชีตได้เช่นกัน โปรดทราบว่าเวลาที่แสดงในการตอบสนอง JSON เป็น GMT ดังนั้นในขณะที่ประวัติการแก้ไขที่เหมาะสมแสดงการประทับเวลาในเขตเวลาท้องถิ่นของคุณคุณจำเป็นต้องแปลงเป็น GMT ก่อนที่คุณจะสามารถแก้ไขได้อย่างถูกต้อง
ADTC

@ADTC: หนึ่งปีต่อมาดูเหมือนจะไม่ทำงาน มันยังใช้ได้กับคุณหรือไม่?
Adobe

@Adobe เพิ่งลองใช้งานได้ แต่คุณอาจพบปัญหาในการหารหัสการแก้ไขที่ถูกต้องจาก API นั่นคือที่ที่คุณติดอยู่?
ADTC

@Adobe อาจเป็นเคล็ดลับเพิ่มเติมนี้จะช่วยให้คุณค้นหารหัสการแก้ไขที่คุณต้องการ หากคุณไม่พบเวลาประทับ GMT ที่คุณกำลังค้นหาให้ดูnextPageTokenที่ส่วนบนสุดของการตอบกลับ JSON ใส่ค่านี้ลงในpageTokenฟิลด์และดำเนินการอีกครั้ง สิ่งนี้จะให้การตอบสนอง JSON ใหม่พร้อมรหัสการแก้ไขเพิ่มเติม ทำเช่นนี้ต่อไปจนกว่าคุณจะพบรหัสการแก้ไขที่คุณต้องการ
ADTC

@ADTC: ขอบคุณในครั้งที่สองผมมีชนิดของความสำเร็จ: webapps.stackexchange.com/a/106553/14417 อย่างไรก็ตามฉันดูเหมือนจะไม่มี "nextPageToken" ที่คำตอบ json
Adobe

9
  • ไปที่ไฟล์ดูประวัติการแก้ไข
  • เลือกรุ่นที่คุณต้องการจากนั้นคลิกเรียกคืนรุ่นนี้

สิ่งนี้จะไม่ลบรุ่นใด ๆ - คุณจะยังสามารถกลับไปเป็นเวอร์ชันปัจจุบันได้

บทความเต็มรูปแบบที่สามารถพบได้ที่นี่


1
แต่นี่เป็นการบังคับให้ฉันต้องกู้คืนเป็นเวอร์ชั่นเก่ากว่าซึ่งฉันไม่ต้องการเพราะผู้ใช้รายอื่นเป็นเอกสารดู / แก้ไขในเวลาเดียวกัน มีวิธีอื่นอีกไหม?
Ramesh Soni

@RameshSoni นั่นคือสิ่งที่คำตอบของ fhackenberger หลีกเลี่ยง!
ADTC

1

ฉันพยายามทำสิ่งที่ fhackenberger แนะนำ แต่มันใช้งานไม่ได้เพราะดึงข้อมูลการแก้ไขเพียงไม่กี่ครั้งล่าสุดและฉันต้องการเวอร์ชั่นเก่าเกือบเดือน

แต่ฉันหาวิธีง่าย ๆ ในการดาวน์โหลด เมื่อเห็นประวัติรุ่นหลังจากที่คุณเลือกรุ่นที่คุณต้องการภายใต้ประวัติเวอร์ชันทางด้านขวาให้คลิกที่ตัวเลือก (จุดแนวตั้งสามจุดที่มุมบนขวาของเวอร์ชันที่ไฮไลต์) และเลือก "ทำสำเนา" นี่เป็นการดาวน์โหลดเวอร์ชันที่ฉันต้องการ


1

เมื่อคุณดูประวัติรุ่นจะมี 3 จุดติดกับแต่ละรุ่น คุณสามารถทำสำเนาของรุ่นและบันทึกได้ทุกที่ที่คุณต้องการและดาวน์โหลด


0

ใช้ Chrome ฉันสามารถทำสิ่งนี้ได้สำหรับสเปรดชีต (แต่ไม่ใช่เอกสารที่น่าเสียดาย):

  1. ไปที่ไฟล์> ดูประวัติการแก้ไข
  2. แสดงการแก้ไขที่คุณต้องการดาวน์โหลด
  3. เลิกคลิก "แสดงการเปลี่ยนแปลง" (หากคุณไม่ต้องการเห็นการเปลี่ยนแปลง "
  4. คลิกขวาที่เอกสารของคุณแล้วเลือก "ดูที่มาของหน้า"
  5. ลบมุมมองแหล่งที่มา: จาก

สิ่งนี้จะทำให้คุณมีการแก้ไขใน HTML


หน้า HTML? ไม่เป็นไรขอบคุณ. ฉันต้องการส่งออกที่เหมาะสม
ADTC

0

ฉันลงเอยด้วยสิ่งนี้ https://docs.google.com/spreadsheets/u/0/d/DID/export?format=xlsx&rev=RID&gid=SID&id=DID

ที่ไหน:

  • DID - ID เอกสาร (ใช้สองครั้ง)
  • RID - รหัสการแก้ไข
  • SID - รหัสสเปรดชีต (ฉันมีสเปรดชีตที่มีแผ่นงานหลายแผ่นและต้องการเพียงแผ่นเดียว)

คำตอบของ Ziadช่วยให้มาที่ลิงค์นี้


0

คำตอบอัตโนมัติของ 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)

ยังไงก็เถอะฉันได้รับการแก้ไขบางอย่างเท่านั้นไม่ใช่ทั้งหมด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.