Tag: drive

  • วิธีการ 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

    1. ผมเขียน Code เอาไว้ ชื่อ upload2gdrive.py ไว้บน GitHub (https://github.com/nagarindkx/google) สามารถดึงมาใช้งานได้โดยใช้คำสั่ง
      clone https://github.com/nagarindkx/google.git
      cd google
    2. สร้าง Project, Credential ตาม “ขั้นที่ 1” ในบทความ การใช้งาน Google Drive API ด้วย Google Client Library for Python ซึ่งจะได้ไฟล์ Client Secret File มา ให้แก้ไขชื่อเป็น “client_secret.json” แล้ว นำไปไว้ใน directory “google” ตามข้อ 1
    3. วิธีใช้คำสั่ง
      ดูวิธีใช้

      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 เช่น ไฟล์ 1 GB หากกำหนด Chunk Size เป็น 100MB โปรแกรมจะแบ่งข้อมูลเป็น 10 ส่วน — ขนาดที่เล็กที่สุดคือ 1 MB และค่า Default คือ 100 MB)

      python upload2gdrive.py --file /backup/bigfile.tar.gz ----gdrive-id xxxxxxxbdXVu7icyyyyyy --chunk-size 100
    4. ผลการทำงานจะประมาณนี้

      ใน Google Drive ที่กำหนด ก็จะมีไฟล์ปรากฏอยู่

    หวังว่าจะเป็นประโยชน์ครับ

    PS: ในบทความต่อไป จะมาอธิบายว่า เขียนขึ้นมาได้อย่างไร โปรดติดตามชม

  • สมัยนี้เขาไม่แนบไฟล์ใหญ่ๆกันแล้ว (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

    login-drive

    2. คลิกที่ Create แล้วเลือก Folder

    create-folder

     

    3. ตั้งชื่อ “ภาพของฉัน”

    newfolder-ภาพของฉัน

     

    4. Upload ภาพไปเก็บใน “ภาพของฉัน” โดยคลิกที่ “ภาพของฉัน” แล้วคลิกที่ Upload (ภาพลูกศรชื้ขึ้น)
    แล้วเลือก Files, จากนั้น เลือกภาพที่ต้องการ เสร็จแล้วคลิกปุ่ม Open

    upload-pics

    5. รอให้ Upload เสร็จ

    upload-complete

    6.  คลิกที่เมนูด้านหลัง “ภาพของฉัน” แล้วคลิก Share … > Share

    share-share

    7. หากต้องการแชร์ให้ผู้อื่น “ที่มี Link” ดูได้ โดยไม่ต้อง Login ให้เลือก Anyone with the link

    แล้วเลือก Can View ดังภาพ แล้วคลิก Save

    (หากต้องการให้ Login ด้วย Google Account เลือก Private
    หากต้องการให้ทุกคน เห็นได้ เลือก Public on the Web)

    sharing-setting

     

    8.ใส่ email address ผู้รับลงไป คั่นด้วย Comma (,)
    หากต้องใส่ข้อความด้วย ก็สามารถทำได้ จากนั้นคลิก Share & Save

    share-save

    9. ผลคือ จะมี email ส่งไปถึงผู้รับ คล้ายอย่างนี้

    email

    10. เมื่อผู้รับคลิก “ภาพของฉัน” ก็จะได้ผลดังนี้ (มาที่ Google)

    result

     

    จึงเรียนมาเพื่อทราบ