วิธีการ Upload ไฟล์ไปบน Google Drive File Stream ด้วย Google Client Library for Python

Google Drive File Stream จริงๆแล้วก็คือการเปิดให้ PC ทั้ง Windows และ Mac สามารถ Map Drive จาก Google Drive มาเป็น G:\ หรืออะไรทำนองนั้น แต่ปัจจุบัน (September 2017) บน Windows Server ซึ่งใช้ Secure Boot จะไม่สามารถติดตั้ง Client ได้ และ Ubuntu Server ก็ยังไม่มีตัวติดตั้ง ดังนั้น ในภาพของผู้ดูแลระบบ ไม่สามารถใช้ความสามารถนี้ได้ … โดยตรง ส่วนใน Windows Desktop ทั่วไปก็จะติดตั้งได้ แม้ว่า จากคำโฆษณา จะบอกว่าผู้ใช้สามารถใช้งานได้ แม้พื้นที่บน Local Drive ไม่เยอะ แต่เอาเข้าจริง ด้วยความสามารถที่จะใช้งาน Offline ได้บ้าง ทำให้ Client ต้อง Cache ไฟล์ที่ใช้งานด้วยเช่นกัน และหาก upload ไฟล์ขนาดใหญ่ จาก Local Drive ไปเก็บใน G:\ ข้างต้น ก็จะทำให้ต้องเสียพื้นที่ในขนาดเท่าๆกันไปด้วย เช่น ใน Local Drive มีไฟล์ที่จะ Backup ขึ้นไป ขนาด 1 GB บน C:\ เมื่อทำการ Copy ไปยัง G:\ ก็จะเสียพื้นที่อีก 1 GB ด้วยเช่นกัน ทางออกก็คือ ใช้ความสามารถของ Google Client Library ทำการ Upload ไฟล์ขึ้นไปโดยตรง เท่าที่ทดลองมา จะไม่ได้ Cache บน Local Drive ทำให้สามารถ Upload ไฟล์ขนาดใหญ่ได้ โดยไม่เสียพื้นที่เพิ่มแบบ Client ข้างต้น วิธีการใช้งาน Python เพื่อ Upload File ขึ้น Google Drive File Stream ผมเขียน Code เอาไว้ ชื่อ upload2gdrive.py ไว้บน GitHub (https://github.com/nagarindkx/google) สามารถดึงมาใช้งานได้โดยใช้คำสั่ง clone https://github.com/nagarindkx/google.git cd google สร้าง Project, Credential ตาม “ขั้นที่ 1” ในบทความ การใช้งาน Google Drive API ด้วย Google Client Library for Python ซึ่งจะได้ไฟล์ Client Secret File มา ให้แก้ไขชื่อเป็น “client_secret.json” แล้ว นำไปไว้ใน directory “google” ตามข้อ 1 วิธีใช้คำสั่ง ดูวิธีใช้ python upload2gdrive.py –help Upload ไฟล์ จาก /backup/bigfile.tar,gz python upload2gdrive.py –file /backup/bigfile.tar.gz บน Windows ก็สามารถใช้งานได้ ด้วยคำสั่ง python upload2gdrive.py –file D:\backup\bigfile.tar.gz หากต้องการระบุตำแหน่ง Folder บน Google Drive ที่ต้องการเอาไฟล์ไปไว้ ให้ระบุ Folder ID python upload2gdrive.py –file /backup/bigfile.tar.gz —-gdrive-id xxxxxxxbdXVu7icyyyyyy หากต้องการระบุ Chunk Size (ปริมาณข้อมูลที่จะแบ่ง Upload เช่น

Read More »

สมัยนี้เขาไม่แนบไฟล์ใหญ่ๆกันแล้ว (Google Drive)

มีผู้ใช้ถามมาว่า “จะส่งภาพงานอบรมให้เพื่อน ที่ Gmail แต่ทำไมส่งไปไม่ได้ ไม่กี่ภาพเอง ถามเพื่อนเขาก็ว่าพื้นที่เขาไม่เต็ม ทำไม PSU เราไม่ให้ส่งหล่ะ ?!?!?!” … ตรวจสอบพบว่า … ไม่กี่ภาพ แต่ขนาดรวมทั้งสิ้น 125 MB, และ Gmail ก็มีข้อจำกัด ไม่ให้ส่ง email ที่มีขนาดรวมไฟล์แนบเกิน 25 MB ในขณะที่ PSU เองไม่ได้จำกัดการส่งออกครับ แล้ว … ทำไงดี ??? ต่อไปนี้เป็นหนึ่งในหลายๆวิธีครับ นั่นคือ ใช้ Google Drive เพื่อการแชร์ไฟล์ โดยจะใช้วิธีสร้าง Folder แล้วแชร์ทั้งหมด ให้กับผู้อื่น แบบไม่ต้องใช้ Google Account ในการเข้ามาดู วิธีการใช้งานมีดังนี้ 0. ท่านต้องมี Google Account (Gmail Account นั่นแหล่ะ) 1. Login ที่ https://drive.google.com 2. คลิกที่ Create แล้วเลือก Folder   3. ตั้งชื่อ “ภาพของฉัน”   4. Upload ภาพไปเก็บใน “ภาพของฉัน” โดยคลิกที่ “ภาพของฉัน” แล้วคลิกที่ Upload (ภาพลูกศรชื้ขึ้น) แล้วเลือก Files, จากนั้น เลือกภาพที่ต้องการ เสร็จแล้วคลิกปุ่ม Open 5. รอให้ Upload เสร็จ 6.  คลิกที่เมนูด้านหลัง “ภาพของฉัน” แล้วคลิก Share … > Share 7. หากต้องการแชร์ให้ผู้อื่น “ที่มี Link” ดูได้ โดยไม่ต้อง Login ให้เลือก Anyone with the link แล้วเลือก Can View ดังภาพ แล้วคลิก Save (หากต้องการให้ Login ด้วย Google Account เลือก Private หากต้องการให้ทุกคน เห็นได้ เลือก Public on the Web)   8.ใส่ email address ผู้รับลงไป คั่นด้วย Comma (,) หากต้องใส่ข้อความด้วย ก็สามารถทำได้ จากนั้นคลิก Share & Save 9. ผลคือ จะมี email ส่งไปถึงผู้รับ คล้ายอย่างนี้ 10. เมื่อผู้รับคลิก “ภาพของฉัน” ก็จะได้ผลดังนี้ (มาที่ Google)   จึงเรียนมาเพื่อทราบ

Read More »