Workflow tự động thống kê YouTube View đa kênh

Mục lục bài viết

  • Workflow này hoạt động như thế nào?
    • Tổng quan kiến trúc workflow
    • Điểm quan trọng về luồng dữ liệu
    • Lý do dùng 2 API call riêng
    • Giới hạn cần biết
    • Kết quả đầu ra nhận thông báo
  • Hướng dẫn thiết lập ban đầu trước khi triển khai
    • Yêu cầu trước khi bắt đầu
    • Bước 1: Tạo YouTube Data API Key
    • Bước 2: Chuẩn bị Google Sheets
    • Bước 3: Cài đặt credential trong n8n
  • Hướng dẫn triển khai cấu hình Workflow
      1. Import workflow
      1. Bổ sung cấu hình các Note
      1. Kiểm tra và kích hoạt
      1. Thêm kênh mới
  • Xử lý lỗi thường gặp
    • Lỗi 403 quotaExceeded
    • Lỗi 400 Bad Request ở Get Channel Info
    • Lỗi Column names were updated ở Update Sheet YT
    • Lỗi Không nhận được Telegram

Workflow này hoạt động như thế nào?

Workflow này là 1 gói Automation Package tự động đọc danh sách kênh YouTube từ Google Sheets, lấy 50 video mới nhất của mỗi kênh, cập nhật số liệu thống kê vào sheet, và gửi báo cáo tổng hợp qua Telegram mỗi ngày lúc 20:00.

Tổng quan kiến trúc workflow

Workflow chạy theo mô hình pipeline tuần tự - mỗi kênh trong sheet Config được xử lý lần lượt qua các bước, không song song.

Điểm quan trọng về luồng dữ liệu

Vì n8n xử lý tuần tự từng item, nếu sheet Config có 3 kênh thì toàn bộ pipeline từ Build Channel URLUpdate Sheet YT chạy 3 lần liên tiếp. Node Aggregate ở cuối mới gom tất cả lại thành 1 để tạo báo cáo chung.

Lý do dùng 2 API call riêng

YouTube không cho phép lấy statistics trực tiếp từ playlist API. Cần gọi playlistItems trước để lấy Video ID, sau đó gọi videos với batch tối đa 50 ID để lấy statistics — đây là cách tối ưu nhất về số lượng API call.

Giới hạn cần biết

YouTube Data API v3 có quota mặc định 10,000 units/ngày. Mỗi lần chạy với 1 kênh tốn khoảng 103 units (1 call channels + 1 call playlistItems + 1 call videos). Nghĩa là tối đa khoảng 90 kênh/ngày trước khi hết quota.

Kết quả đầu ra nhận thông báo

📊 BÁO CÁO YOUTUBE TỔNG HỢP
🕐 Cập nhật: 20:00:20 26/6/2026
==================

📺 Site 1
 - Tổng video theo dõi: 50
 - Tổng views: 370.011
 - Lượt thích: 190
 - Không thích: 0
 - Bình luận: 13
 - Video moi 7 ngay: 1 (8.200 views)

📺 Site 2
 - Tổng video theo dõi: 50
 - Tổng views: 220.510
 - Lượt thích: 145
 - Không thích: 0
 - Bình luận: 9
 - Video moi 7 ngay: 2 (9.774 views)

Hướng dẫn thiết lập ban đầu trước khi triển khai

Yêu cầu trước khi bắt đầu

  • Tài khoản n8n (self-hosted hoặc cloud)
  • Tài khoản Google (để dùng Google Sheets)
  • Bot Telegram
  • YouTube Data API v3 Key

Bước 1: Tạo YouTube Data API Key

Tạo project trên Google Cloud

  1. Truy cập console.cloud.google.com
  2. Click dropdown tên project ở thanh trên cùng → New Project
  3. Đặt tên project (ví dụ: youtube-stats) →Create

Bật YouTube Data API v3

  1. Vào APIs & ServicesLibrary
  2. Tìm kiếm YouTube Data API v3
  3. Kích chọn nó và nhấn Enable

Tạo API Key

  1. Vào APIs & ServicesCredentials
  2. Kích + Create CredentialsAPI Key
  3. Key được tạo xong → Kích Edit API key (biểu tượng bút chì)
  4. Trong mục API restrictions → chọn Restrict key
  5. Dropdown → tìm và chọn YouTube Data API v3OKSave
  6. Copy API Key để dùng ở bước sau

⚠️ Lưu ý bảo mật: Không chia sẻ API key công khai. Key này bị lộ có thể bị người khác dùng và tiêu hết quota của bạn.

Bước 2: Chuẩn bị Google Sheets

Tạo file Google Sheets mới

Tạo một file Google Sheets mới. Lấy Sheet ID từ URL:

https://docs.google.com/spreadsheets/d/[SHEET_ID_Ở_ĐÂY]/edit

Tạo sheet "Config"

Tạo tab mới tên Config với cấu trúc:

Channel Ghi chu
UC1234567890abcdef Kênh A
UC0987654321fedcba Kênh B
  • Cột A - Channel: Channel ID của kênh YouTube, bắt đầu bằng *UC...*
  • Cột B - Ghi chu: Tùy ý, để ghi chú tên kênh

💡 Cách lấy Channel ID: Vào trang kênh YouTube → xem URL dạng youtube.com/channel/UCxxxxxx → copy phần UCxxxxxx. Nếu URL dạng /@tenkenh, vào trang kênh → kích About → xem phần Share channel để lấy link chứa Channel ID.

Tạo sheet YT

Tạo tab mới tên YT với các header sau ở hàng 1:

Video ID Kenh Ten video Luot xem Luot thich Khong thich Binh luan Ngay dang

⚠️ Tên header phải khớp chính xác, không dấu, đúng thứ tự như trên.

Bước 3: Cài đặt credential trong n8n

Tạo credential Google Sheets (nếu đã có credential này rồi thì có thể bỏ qua)

  1. Vào CredentialsAdd credential
  2. Tìm Google Sheets OAuth2 API
  3. Đăng nhập tài khoản Google của bạn và cấp quyền
  4. Đặt tên credential (ví dụ: Google Sheets account)
  5. Save

Tạo credential Telegram (nếu đã có credential này rồi thì có thể bỏ qua)

  1. Vào Credentials"Add credential"
  2. Tìm Telegram API
  3. Nhập Bot Token của bạn (lấy từ @BotFather)
  4. Đặt tên credential → Save

💡 Xem thêm Cách tạo Telegram Bot

Hướng dẫn triển khai cấu hình Workflow

1. Import workflow

  1. Trong n8n, vào Workflows → Kích Add workflowImport from file
  2. Chọn file *thong-ke-youtube.json* (sau khi đã giải nén từ file zip)
  3. Workflow được import xong

2. Bổ sung cấu hình các Note

Mở workflow vừa import, và chỉnh các Node dưới đây:

1. Node Build Channel URL: điền API Key

  1. Click vào node Build Channel URL
  2. Trong phần code, tìm dòng:
    const apiKey = 'YOUTUBE_API_KEY_CUA_BAN';
  3. Thay YOUTUBE_API_KEY_CUA_BAN bằng API Key vừa tạo ở Bước 1 (mục trên)

2. Node Get 50 Latest Videos và Get Video Statistics: điền API Key

  1. Click vào node Get 50 Latest Videos (sau đó là Get Video Statistics)
  2. Tìm Query Parameter tên key
  3. Thay giá trị YOUTUBE_API_KEY_CUA_BAN bằng API Key của bạn

3. Node Read Config Sheet và Update Sheet YT: chọn Google Sheet

  1. Click vào node Read Config Sheet
  2. Mục Credential → chọn credential Google Sheets vừa tạo (hoặc đã có trước đó)
  3. Mục Document → dán Sheet ID của bạn vào (lấy từ URL của file Google Sheets ở Bước 2)
  4. Làm tương tự với node Update Sheet YT

4. Node Send Telegram: cấu hình Telegram

  1. Click vào node Send Telegram
  2. Mục Credential → chọn credential Telegram vừa tạo (hoặc đã có trước đó)
  3. Mục Chat ID → nhập Chat ID của bạn

💡 Cách lấy Chat ID: Nhắn tin cho bot của bạn, sau đó truy cập https://api.telegram.org/bot[BOT_TOKEN]/getUpdates → tìm trường chat.id trong kết quả.

3. Kiểm tra và kích hoạt

  1. Click Execute workflow (nút tam giác) để chạy thử
  2. Kiểm tra từng node xem output có đúng không
  3. Nếu chạy thành công → Kích Publish để bật lịch tự động chạy lúc 20:00 mỗi ngày

4. Thêm kênh mới

Nếu bạn muốn thêm nhiều kênh khác (cùng tài khoản Google/Youtube) Chỉ cần thêm Channel ID vào cột A của sheet Config - không cần chỉnh gì trong workflow.

Xử lý lỗi thường gặp

Lỗi 403 quotaExceeded

  • Lý do: Hết quota YouTube API trong ngày
  • Cách sửa: Chờ ngày hôm sau hoặc tạo thêm project GCP

Lỗi 400 Bad Request ở Get Channel Info

  • Lý do: Channel ID sai định dạng
  • Cách sửa: Kiểm tra lại Channel ID trong sheet Config, phải bắt đầu bằng UC

Lỗi Column names were updated ở Update Sheet YT

  • Lý do: Header sheet YT không khớp
  • Cách sửa: Kiểm tra lại tên các cột trong sheet YT theo đúng hướng dẫn Bước 2.3

Lỗi Không nhận được Telegram

  • Lý do: Chat ID sai
  • Cách sửa: Dùng lại link getUpdates để lấy đúng Chat ID

Các lỗi phát sinh khác: Bạn hãy gửi ảnh cho ChatGPT và hỏi cách xử lý trên từng lỗi cụ thể nhé!

Workflow tự động thống kê YouTube View đa kênh

Định dạng: .Zip

Dung lượng:
3,6 KB

Lượt tải: 0-100 lượt

Tải về miễn phí