ฉันมีเอกสารแผ่นงาน Excel ใน Google เอกสารที่มีการแก้ไขหลายครั้ง ฉันต้องการดาวน์โหลดรุ่นเก่าลงในเครื่องของฉัน
ฉันจะทำสิ่งนี้ได้อย่างไร
(Google เอกสารอนุญาตให้ดาวน์โหลดเวอร์ชันล่าสุดโดยตรงจากFile > Download as
และฉันไม่พบวิธีดาวน์โหลดการแก้ไข)
ฉันมีเอกสารแผ่นงาน Excel ใน Google เอกสารที่มีการแก้ไขหลายครั้ง ฉันต้องการดาวน์โหลดรุ่นเก่าลงในเครื่องของฉัน
ฉันจะทำสิ่งนี้ได้อย่างไร
(Google เอกสารอนุญาตให้ดาวน์โหลดเวอร์ชันล่าสุดโดยตรงจากFile > Download as
และฉันไม่พบวิธีดาวน์โหลดการแก้ไข)
คำตอบ:
หากคุณดาวน์โหลดเวอร์ชันปัจจุบันของเอกสารของคุณคลิกขวาที่การดาวน์โหลดในหน้าต่างดาวน์โหลดของเบราว์เซอร์ (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
XXXX
fileId อยู่ที่ไหนและNNN
เป็นหมายเลขแก้ไขของคุณ
nextPageToken
ที่ส่วนบนสุดของการตอบกลับ JSON ใส่ค่านี้ลงในpageToken
ฟิลด์และดำเนินการอีกครั้ง สิ่งนี้จะให้การตอบสนอง JSON ใหม่พร้อมรหัสการแก้ไขเพิ่มเติม ทำเช่นนี้ต่อไปจนกว่าคุณจะพบรหัสการแก้ไขที่คุณต้องการ
สิ่งนี้จะไม่ลบรุ่นใด ๆ - คุณจะยังสามารถกลับไปเป็นเวอร์ชันปัจจุบันได้
ฉันพยายามทำสิ่งที่ fhackenberger แนะนำ แต่มันใช้งานไม่ได้เพราะดึงข้อมูลการแก้ไขเพียงไม่กี่ครั้งล่าสุดและฉันต้องการเวอร์ชั่นเก่าเกือบเดือน
แต่ฉันหาวิธีง่าย ๆ ในการดาวน์โหลด เมื่อเห็นประวัติรุ่นหลังจากที่คุณเลือกรุ่นที่คุณต้องการภายใต้ประวัติเวอร์ชันทางด้านขวาให้คลิกที่ตัวเลือก (จุดแนวตั้งสามจุดที่มุมบนขวาของเวอร์ชันที่ไฮไลต์) และเลือก "ทำสำเนา" นี่เป็นการดาวน์โหลดเวอร์ชันที่ฉันต้องการ
เมื่อคุณดูประวัติรุ่นจะมี 3 จุดติดกับแต่ละรุ่น คุณสามารถทำสำเนาของรุ่นและบันทึกได้ทุกที่ที่คุณต้องการและดาวน์โหลด
ใช้ 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)
ยังไงก็เถอะฉันได้รับการแก้ไขบางอย่างเท่านั้นไม่ใช่ทั้งหมด