n8n Thai
by n8n Thai

n8n x Google Drive: จัดการไฟล์อัตโนมัติ

ใช้ n8n อัปโหลด ดาวน์โหลด คัดลอก และจัดโฟลเดอร์ไฟล์ใน Google Drive อัตโนมัติ ระบบสำรองและแจกจ่ายไฟล์

n8n x Google Drive: จัดการไฟล์อัตโนมัติ

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

Google Drive Node ทำอะไรได้บ้าง

  • Upload File อัปโหลดไฟล์ Binary จาก Node ก่อนหน้าขึ้น Drive
  • Download File ดาวน์โหลดไฟล์จาก Drive มาเป็น Binary Data
  • Create Folder สร้างโฟลเดอร์ใหม่
  • Copy File คัดลอกไฟล์ไปยังโฟลเดอร์อื่น
  • Move File ย้ายไฟล์
  • Share File ตั้งค่าสิทธิ์การเข้าถึงไฟล์
  • List Files ค้นหาไฟล์ตาม Query
  • Delete File ลบไฟล์หรือโฟลเดอร์

ตั้งค่า Google Drive Credentials

ใช้ Google OAuth2 Credential เดียวกับบริการ Google อื่น แต่ต้องเปิดใช้ Google Drive API ใน Google Cloud Console ด้วย ดูวิธีตั้งค่าครั้งแรกได้ที่คู่มือ Google Workspace

อัปโหลดไฟล์อัตโนมัติ

ขั้นตอนการอัปโหลดไฟล์:

  1. เพิ่ม Google Drive Node เลือก Operation: Upload File
  2. ระบุ Parent Folder ID (หา ID จาก URL ของโฟลเดอร์ใน Drive)
  3. ใน File ให้อ้างอิง Binary Data จาก Node ก่อนหน้า เช่น data หรือ attachment
  4. ตั้งชื่อไฟล์ด้วย Expression เช่น {{ $json.filename }} หรือ report-{{ $now.format('yyyy-MM-dd') }}.pdf

Workflow ตัวอย่าง: สำรองรูปภาพจาก LINE ขึ้น Drive

  1. LINE Webhook รับข้อความพร้อมรูปภาพ
  2. HTTP Request Node ดาวน์โหลดรูปจาก LINE Content API
  3. Google Drive Node Upload File → โฟลเดอร์ /LINE Photos/{{ $now.format('yyyy-MM') }}/
  4. Google Sheets Node บันทึก URL ของไฟล์ใน Drive ลง Sheets

สร้างโครงสร้างโฟลเดอร์อัตโนมัติ

ธุรกิจที่มีลูกค้าหลายคนมักต้องสร้างโฟลเดอร์แยกต่างหากสำหรับแต่ละโปรเจคหรือลูกค้า n8n ทำให้ขั้นตอนนี้เกิดขึ้นอัตโนมัติเมื่อมีลูกค้าใหม่

Workflow: สร้างโฟลเดอร์ลูกค้าใหม่

  1. Webhook Node รับข้อมูลลูกค้าใหม่
  2. Google Drive Node Create Folder ชื่อ {{ $json.client_name }} - {{ $json.project_name }}
    • Parent: ID โฟลเดอร์ “ลูกค้า” หลัก
  3. Google Drive Node Create Folder ชื่อ Documents ภายในโฟลเดอร์ที่สร้างใหม่
  4. Google Drive Node Create Folder ชื่อ Deliverables
  5. Google Drive Node Share File ให้ Email ของลูกค้ามีสิทธิ์ Viewer หรือ Editor
  6. Gmail Node ส่ง Email ให้ลูกค้าพร้อม Link โฟลเดอร์

ดาวน์โหลดและประมวลผลไฟล์

n8n สามารถดาวน์โหลดไฟล์จาก Drive มาประมวลผลใน Workflow ได้ เช่น:

อ่านไฟล์ CSV จาก Drive แล้วนำเข้า Database

  1. Cron Node ทุกวันจันทร์เช้า
  2. Google Drive Node List Files ในโฟลเดอร์ /Imports/ ค้นหาไฟล์ที่มี .csv
  3. Loop Node วน Loop ทุกไฟล์
  4. Google Drive Node Download File ได้ Binary Data
  5. Spreadsheet File Node แปลง CSV เป็น JSON
  6. Database Node (Postgres, MySQL) นำเข้าข้อมูล
  7. Google Drive Node Move File ย้ายไปโฟลเดอร์ /Processed/

แปลงและบีบอัดไฟล์

  1. ดาวน์โหลดไฟล์รูปจาก Drive
  2. ใช้ HTTP Request Node ส่งไปยัง Image Processing API (เช่น Cloudinary หรือ imgix)
  3. อัปโหลดไฟล์ที่บีบอัดแล้วกลับขึ้น Drive พร้อมเปลี่ยนชื่อ

แชร์ไฟล์และจัดการสิทธิ์

Operation Share File ใช้ตั้งค่าสิทธิ์ไฟล์หรือโฟลเดอร์ได้:

  • Role: reader, writer, commenter, owner
  • Type: user (Email เฉพาะ), group, domain, anyone

ตัวอย่าง: เมื่อส่งมอบงานให้ลูกค้า → Share โฟลเดอร์ Deliverables ให้ Email ลูกค้ามีสิทธิ์ reader

Operation: Share File
File ID:   {{ $json.deliverables_folder_id }}
Role:      reader
Type:      user
Email:     {{ $json.client_email }}

Use Cases ยอดนิยม

ระบบรับใบสมัครงาน: ผู้สมัครส่ง Resume ผ่าน Form → n8n อัปโหลด Resume ขึ้น Drive โฟลเดอร์ตำแหน่ง → บันทึก Drive URL ลง Sheets HR

Backup อัตโนมัติ: ทุกวันอาทิตย์ Export ข้อมูลจาก Database → อัปโหลดไฟล์ Backup ขึ้น Drive → ลบไฟล์ที่เก่ากว่า 30 วันออก

แจกจ่ายใบเสร็จ: สร้าง PDF ใบเสร็จจากข้อมูลออร์เดอร์ → อัปโหลดขึ้น Drive → ส่ง Link ทาง Gmail ให้ลูกค้า

รวบรวมไฟล์จากทีม: ทีมอัปโหลดรายงานขึ้น Drive → n8n ตรวจทุกเย็นวันศุกร์ว่าครบทุกคนไหม → แจ้งเตือน Slack คนที่ยังไม่ส่ง

เคล็ดลับสำคัญ

หา Folder ID: เปิดโฟลเดอร์ใน Google Drive แล้วดู URL จะเห็น https://drive.google.com/drive/folders/[FOLDER_ID] ส่วนตัวเลขยาวต่อท้ายคือ Folder ID

Mime Type: เมื่ออัปโหลดไฟล์ต้องระบุ Mime Type ที่ถูกต้อง เช่น application/pdf สำหรับ PDF, image/jpeg สำหรับ JPG, text/csv สำหรับ CSV ถ้าไม่ระบุ Drive อาจแสดงไฟล์ผิดประเภท

Drive Storage Limit: บัญชี Google ฟรีมีพื้นที่ 15GB ถ้าใช้ n8n อัปโหลดไฟล์ขนาดใหญ่บ่อยๆ ควรตรวจสอบพื้นที่และตั้ง Workflow ลบไฟล์เก่าโดยอัตโนมัติด้วย

อยากเรียน n8n แบบเป็นระบบ ตั้งแต่เริ่มต้นจนสร้าง Workflow ใช้งานจริงได้ ลองดู คอร์สสอน n8n ที่ aiunlock.co

Related posts