จะดาวน์โหลดโฟลเดอร์จากไดรฟ์ google โดยใช้เทอร์มินัลได้อย่างไร


59

ฉันต้องการดาวน์โหลดโฟลเดอร์จากไดรฟ์ google โดยใช้เทอร์มินัลหรือไม่ มีวิธีใดที่จะทำเช่นนั้น? ฉันลองสิ่งนี้:

$ wget "https://drive.google.com/folderview?id=0B-Zc9K0k9q-WWUlqMXAyTG40MjA&usp=sharing"

แต่มันกำลังดาวน์โหลดไฟล์ข้อความนี้: folderview?id=0B-Zc9K0k9q-WdEY5a1BCUDBaejQ&usp=sharing. มีวิธีการดาวน์โหลดโฟลเดอร์ google ไดรฟ์จากสถานีหรือไม่


1
ตรวจสอบMount Google Drive ใน Linux? .
Henrique

ฉันตรวจสอบแล้ว แต่ไม่สามารถจัดการสเปรดชีตของ Google ได้ เนื่องจากฉันต้องการเข้าถึงสเปรดชีตและocamlfuseสามารถจัดการกับสิ่งนี้ได้ฉันจึงคิดว่าจะดาวน์โหลดพวกเขาทุกครั้งที่ฉันต้องการพวกเขาแม้ว่าเวลาจะขึ้นอยู่กับการติดตั้งก็ตาม แต่ฉันไม่มีตัวเลือกอื่น
22180

ตั้งค่าการตั้งค่าโฟลเดอร์เป็น "ทุกคนบนอินเทอร์เน็ตสามารถค้นหาและดู" จากนั้นคุณจะสามารถดาวน์โหลดไฟล์wget https://googledrive.com/host/file_idสำหรับคุณwget https://googledrive.com/host/0B-Zc9K0k9q-WdEY5a1BCUDBaejQได้ วิธีการแก้ปัญหาที่อธิบายไว้ที่นี่ในรายละเอียดเพิ่มเติม
Paul Rougieux

มีคำตอบใหม่สำหรับสิ่งนี้ในช่วงเวลาที่ผ่านไปหรือไม่? เรามีตัวเลือกหนึ่งด้านล่าง
Matan

คำตอบ:


48

ฉันสามารถดาวน์โหลดไฟล์สาธารณะที่ใช้คำสั่งนี้:

$ wget --no-check-certificate 'https://docs.google.com/uc?export=download&id=FILEID' -O FILENAME

ไหนFILEIDจะต้องถูกแทนที่ด้วย ID ไฟล์จริง FILENAMEเป็นพา ธ / ชื่อไฟล์ที่การดาวน์โหลดจะถูกเก็บไว้

หมายเหตุคุณไม่สามารถใช้ folderid แทน fileid ฉันได้ใช้แหล่งมุมมองในมุมมองโฟลเดอร์ที่ฉันสามารถหา <div id="entry-0B0jxxycBojSwVW...HTML สตริงที่ขึ้นต้นด้วย0Bคือ fileid


4
มันใช้งานได้ดีสำหรับฉัน! เพิ่งมีการใช้ drive.google.com แทน
thouliha

เนื่องจากฉันมีไฟล์ขนาดใหญ่ฉันจึงได้รับคำเตือนเกี่ยวกับตัวสแกนไวรัส google (ซึ่งไม่สามารถสแกนได้) ฉันไม่พบวิธีแก้ไขปัญหานี้ อย่างไรก็ตามฉันรู้ว่าฉันสามารถใช้scpเพื่อถ่ายโอนไฟล์ไปยังเซิร์ฟเวอร์ของฉัน (ซึ่งมีความจำเป็นสำหรับการดาวน์โหลดดังกล่าว)
Matthias

2
นี่ไม่ทำงานกับ google ไดรฟ์อีกต่อไป ...
loretoparisi

2
สิ่งนี้จะไม่ทำงานกับไฟล์ที่มีขนาดใหญ่กว่านี้ คำตอบในการโอเวอร์
HG Sur

1
@HGSur คำตอบของฉันด้านล่างใช้สำหรับไฟล์ขนาดใหญ่ได้เช่นกัน
FrankerZ

22

สำหรับไฟล์ google ไดรฟ์ที่มีขนาดใหญ่เกินไปและคุณได้รับข้อความแสดงข้อผิดพลาด "Google ไม่สามารถให้การสแกนไวรัส" นี่เป็นวิธีการแก้ปัญหาที่ฉันใช้:

ก่อนอื่นให้ลองดาวน์โหลดไฟล์ที่นี่ (ทำตามขั้นตอนด้านบน):

$ wget --save-cookies cookies.txt --keep-session-cookies --no-check-certificate 'https://docs.google.com/uc?export=download&id=FILEID' -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/Code: \1\n/p'

ต่อไปหลังจากที่เราได้รับรหัส (มันจะถูกส่งออกไปยังหน้าเว็บและเอาท์พุทโดยใช้ sed ด้านบน) ใช้ URL ต่อไปนี้:

$ wget --load-cookies cookies.txt 'https://docs.google.com/uc?export=download&confirm=CODE_FROM_ABOVE&id=FILEID'

เพิ่ม-O FILENAMEไปยังคำสั่ง wget ก่อนหน้าเพื่อระบุชื่อไฟล์ถ้าคุณต้องการเขียนมันลงในไฟล์


งานนี้มีเสน่ห์เหมือนกัน! หากคุณเพิ่ม - เนื้อหาการจัดการจะให้ชื่อที่ถูกต้องโดยอัตโนมัติ
Waleed Hamra

8

ไคลเอนต์หลายแพลตฟอร์มโอเพ่นซอร์สใหม่ที่เขียนใน Go เรียกว่าไดรฟ์ค่อนข้างดีและเต็มรูปแบบและยังอยู่ในการพัฒนาที่ใช้งานอยู่

ตัวอย่าง

คำสั่ง pull จะดาวน์โหลดข้อมูลจาก Google Drive ที่ไม่มีอยู่ในเครื่องและลบข้อมูลในเครื่องที่ไม่ปรากฏใน Google Drive เรียกใช้โดยไม่มีข้อโต้แย้งใด ๆ เพื่อดึงไฟล์ทั้งหมดจากเส้นทางปัจจุบัน:

$ drive pull

รองรับการดึงโดยการจับคู่

$ cd ~/myDrive/content/2015
$ drive pull --matches vines docx

ดูลิงค์ด้านบนสำหรับตัวอย่างเพิ่มเติมเหล่านี้เป็นเพียงส่วนเล็ก


1
เครื่องมือนี้ไม่ได้รับการดูแลตั้งแต่เดือนกันยายน 2017
Mateusz Konieczny

ใช่ drive pull 'Colab Notebooks/sorted/models/resnet-101-90.9-max-acc'แต่มันก็ยังคงทำงานและการดาวน์โหลดไดเรกทอรีทั้งหมดมันเป็นทางออกที่ดีที่สุด: อีกวิธีคือความเจ็บปวดในตูด
Avio

7

wgetสามารถจัดการลิงก์โดยตรงเท่านั้น แต่นั่นไม่ใช่ปัญหาหลักที่นี่ Google Drive คาดหวังให้คุณตรวจสอบสิทธิ์ก่อนดาวน์โหลดไฟล์ หมายความว่าคุณจะต้องใช้เว็บเบราว์เซอร์เพื่อดาวน์โหลดไฟล์ มีบางเว็บเบราว์เซอร์สำหรับเทอร์มินัลคมเป็นตัวอย่าง

หากคุณเลือกที่จะแชร์ไฟล์ของคุณต่อสาธารณะ (เพื่อให้ทุกคนสามารถดาวน์โหลดได้) คุณสามารถใช้บริการ Permalink ของ Google ไดรฟ์จำนวนมาก ฉันเชื่อว่าสิ่งเหล่านี้ควรสร้างลิงค์ที่จะใช้งานได้กับ wget นี่คือรายการของสองฉันพบเมื่อค้นหาข้อมูล: http://gdriveurl.com/ http://gdurl.com/

สมมติว่าคุณกำลังใช้งาน Linux มีไคลเอ็นต์โอเพ่นซอร์สสำหรับ Google ไดรฟ์ที่อาจคุ้มค่าที่จะดู


คมกำลังแสดง "เปลี่ยนเส้นทาง" มากกว่า 5 นาทีเมื่อพยายามเข้าถึงไดรฟ์ "Permalink ของ Google ไดรฟ์" ไม่เป็นไร แต่ฉันไม่ต้องการแชร์กับทุกคน ฉันใช้ไปGriveแล้วOcamlfuseแต่พวกเขาไม่สามารถเข้าถึงสเปรดชีตได้
22180

ยืนยันลิงก์ "ดาวน์โหลด" จาก gdriveurl ทำงานกับ wget แล้ว
แรนดัลล์

เกี่ยวกับคำแนะนำไคลเอนต์โอเพ่นซอร์ส: จากประสบการณ์ของฉันในการใช้ไคลเอ็นต์ gdrive นั้นและยูทิลิตีที่คล้ายกันที่เรียกว่า rclone ฉันมีประสบการณ์ที่ดีขึ้นกับ rclone
7yl4r

7

มีโปรแกรมขนาดใหญ่ในที่เก็บ ubuntu 17.04 ชื่อ: rclone

$ sudo apt update && sudo apt install rclone

$ rclone config --> than follow the steps to setup your gdrive

ตอนนี้คุณสามารถคัดลอกและซิงค์ทุกสิ่งที่คุณต้องการได้แล้ว โครงการสนับสนุนเมฆทุกชนิด .. fe:

$ rclone sync /home/<usrname>/Desktop/yourfolder gdrivename:yourfolder

[1]: https://rclone.org

(btw ฉันอัปโหลดประมาณ 600GB และถ่ายโอน 1TB พร้อม rclone จาก gdrive ไปยัง gdrive ในไม่กี่ชั่วโมง, gdrive ไปยัง ubuntu และ ubuntu ไปยัง gdrive .. และมันใช้งานได้ยอดเยี่ยมหลายสัปดาห์ในแถว !!

https://forum.rclone.org/t/can-copy-between-google-drive-accounts-without-download-and-upload-files/969/8

)


5

คุณสามารถลองถ้าคุณใช้ Firefox ให้ติดตั้ง cliget addon สำหรับทุกไฟล์ที่คุณต้องการดาวน์โหลดโปรแกรมจะแสดงลิงค์โดยตรง wl หรือ aria2 สำหรับการดาวน์โหลดไฟล์นั้น ฉันใช้มันเพื่อดาวน์โหลดไฟล์บนเครื่องอื่น ๆ ผ่านทาง ssh เพราะมันเร็วกว่ามากสำหรับฉันที่จะดาวน์โหลดโดยตรงไปยังคอมพิวเตอร์ระยะไกลแล้วอัพโหลดไฟล์นั้นจากคอมพิวเตอร์ของฉัน สามารถใช้งานกับดรอปบ็อกซ์, gdrive และอื่น ๆ ได้


5

gdriveคุณสามารถใช้โอเพนซอร์สเครื่องมือ Linux / Unix บรรทัดคำสั่ง

วิธีติดตั้ง:

  1. ดาวน์โหลดไบนารี่ gdrive-linux-x64เลือกหนึ่งที่เหมาะกับสถาปัตยกรรมของคุณตัวอย่างเช่น

  2. คัดลอกไปยังเส้นทางของคุณ

    sudo cp gdrive-linux-x64 /usr/local/bin/gdrive;
    sudo chmod a+x /usr/local/bin/gdrive;
    

วิธีใช้:

  1. กำหนด ID โฟลเดอร์ของ Google Drive เพื่อให้เข้าไปในโฟลเดอร์เพื่อดาวน์โหลดโดยใช้เว็บไคลเอ็นต์ drive.google.com ตอนนี้ดูที่ URL https://drive.google.com/drive/folders/0B7_OwkDsUIgFWXA1B2FPQfV5S8Hในแถบที่อยู่ของเบราว์เซอร์ที่จะแสดงสิ่งที่ต้องการ รับสายอักขระหลังสุด/และคัดลอกไปยังคลิปบอร์ดของคุณ นั่นคือ ID ของโฟลเดอร์

  2. ดาวน์โหลดโฟลเดอร์ แน่นอนใช้ ID โฟลเดอร์ของคุณแทนในคำสั่งต่อไปนี้

    gdrive download --recursive 0B7_OwkDsUIgFWXA1B2FPQfV5S8H
    

เมื่อใช้งานครั้งแรกเครื่องมือจะต้องได้รับสิทธิ์การเข้าถึง Google Drive API ซึ่งจะแสดงลิงค์ที่คุณต้องเข้าชมในเบราว์เซอร์จากนั้นคุณจะได้รับรหัสยืนยันเพื่อคัดลอกและวางกลับไปที่เครื่องมือ การดาวน์โหลดจะเริ่มขึ้นโดยอัตโนมัติ ไม่มีตัวบ่งชี้ความคืบหน้า แต่คุณสามารถสังเกตเห็นความคืบหน้าในตัวจัดการไฟล์หรือเทอร์มินัลที่สอง

ที่มา: ความคิดเห็นโดย Tobiในคำถาม stackoverflow.com คำตอบที่ดัดแปลงมาจากคำตอบที่คล้ายกันของฉันไปที่นั่น


4

ดาวน์โหลดไบนารี่จากลิงค์ด้านล่าง

chmod +x <binary>
./drive download id

มันจะสร้างลิงค์สำหรับรหัสยืนยัน คลิกลิงก์และอนุญาตการเข้าถึง gdrive และคัดลอกรหัสยืนยันจากเบราว์เซอร์ วางไว้

มันใช้งานได้สำหรับฉัน

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