1. Giới thiệu về Workflow Tự động hóa Đăng bài Facebook bằng n8n [0]

thumbnail Workflow này tự động hóa việc đăng bài lên Facebook, bao gồm nhiều định dạng nội dung khác nhau, với khả năng lên lịch và xử lý lỗi.

1.1. Mục đích và Cải tiến của Workflow [0]

  1. Chia sẻ lại workflow đăng bài lên Facebook [1]
    • Workflow này có thể đăng nhiều ảnh, một ảnh, không ảnh (chỉ văn bản), Reels, video, story ảnh và story video lên trang Facebook. [1]
  2. Cải tiến về cài đặt thời gian đăng bài [2]
    • Phiên bản trước có lỗi về cài đặt thời gian đăng bài, phiên bản này đã được chỉnh sửa. [2]
  3. Giảm kết nối đến Google Sheet để tránh giới hạn [3]
    • Việc ghi nhận và chỉnh sửa đã loại bỏ một phần luồng ra khỏi kết nối Google Sheet. [4]
    • Điều này giúp tránh tình trạng bị giới hạn kết nối đến Google Sheet, vì Google có giới hạn về số lần kết nối tới tài nguyên của họ. [4]

1.2. Hướng dẫn Sử dụng Google Sheet [5]

  1. Truy cập và sao chép Google Sheet cài đặt [6]
    • Mở link Google Sheet để cài đặt nội dung và lịch đăng bài. [6]
    • Trang sheet này chỉ được chia sẻ ở chế độ xem để tránh bị loạn hoặc hỏng do nhiều người chỉnh sửa cùng lúc. [10]
    • Để sử dụng, người dùng cần vào mục "Tệp" và chọn "Tạo bản sao" để nhân bản sheet về máy. [14]

2. Thiết lập và Lấy Token Facebook [25]

thumbnail

2.1. Lấy Token Facebook [25]

  1. Truy cập Facebook Developer [26]
    • Người dùng cần vào trang developer của Facebook. [26]
    • Nếu chưa biết cách tạo ứng dụng và lấy token, có thể tham khảo hướng dẫn trên kênh của người chia sẻ. [27]
  2. Cấu hình Ứng dụng và Xin quyền [28]
    • Vào phần "Khả năng hiển thị" và chọn ứng dụng đang sử dụng. [28]
    • Cần xin đầy đủ các quyền cần thiết, bao gồm quyền quản lý (management) để có thể đăng bài. [30]
    • Có thể xin thêm quyền tin nhắn của chatbot nếu cần. [31]
  3. Lấy Token Dài hạn (Long-lived Token) [33]
    • Mở phần "Trình gỡ lỗi" để lấy token dài hạn hơn. [34]
    • Vào phần "Mã mở rộng" và copy mã mở rộng để lấy token dài hạn. [35]
  4. Lấy Token của Trang (Page Token) [36]
    • Quan trọng là phải lấy token của trang Facebook (Page Token), không phải token của người dùng, nếu không sẽ bị lỗi. [38]
    • Chọn đúng trang Facebook mà bạn muốn đăng bài. [41]

2.2. Cài đặt Trạng thái Bài viết [43]

  1. Thiết lập trạng thái "Chờ đăng" [43]
    • Để cho phép đăng bài, cần mở trạng thái của bài viết thành "Chờ đăng". [44]
    • Các trạng thái khác như "Nháp" sẽ không được đăng. [45]
    • Trạng thái "Đang chờ đăng" và "Đã đăng thành công" cũng được đề cập. [46]

3. Cài đặt Thời gian Đăng bài và Kích hoạt Workflow [47]

thumbnail

3.1. Thiết lập Thời gian Đăng bài [47]

  1. Ví dụ cài đặt thời gian [48]
    • Người dùng có thể gạt lại thời gian để đăng bài theo ý muốn. [47]
    • Ví dụ: Đặt một bài đăng lúc 1:32 và một bài khác đăng ngay lập tức (ví dụ 1:30). [49]
    • Bài đăng có thời gian sớm hơn sẽ được ưu tiên đăng trước. [52]

3.2. Kích hoạt Workflow để Đăng bài Tự động [54]

  1. Bật Trigger của Workflow [54]
    • Để đăng bài tự động, workflow cần được kích hoạt. [54]
    • Trigger sẽ chạy mỗi phút để kiểm tra xem có bài đăng nào đến giờ hợp lệ để đăng hay không. [55]
  2. Kiểm tra thời gian thực tế và bài đăng [56]
    • Tại thời điểm 1:28, workflow chạy nhưng chưa có bài nào đến giờ đăng (ví dụ bài đăng lúc 1:30). [56]
    • Workflow sẽ tiếp tục chạy và kiểm tra cho đến khi đến giờ đăng bài. [65]
    • Đến 1:30, workflow sẽ bắt đầu đăng bài. [72]

3.3. Logic Xử lý Thời gian Đăng bài trong Workflow [76]

  1. Lấy các bài viết đang chờ đăng [77]
    • Workflow lấy toàn bộ các bài viết đã chuyển trạng thái sang "Chờ đăng". [77]
  2. Kiểm tra cài đặt thời gian đăng [79]
    • Sau đó, workflow kiểm tra xem có cài đặt thời gian đăng bài hay không. [80]
    • Nếu không có thời gian đăng, bài viết sẽ được đăng ngay lập tức khi workflow chạy. [81]
    • Nếu có cài đặt thời gian, thời gian sẽ được định dạng để so sánh. [85]
    • Các bài viết có thời gian đăng nhỏ hơn hoặc bằng thời gian hiện tại sẽ được coi là hợp lệ. [87]
  3. Gộp và Xử lý các bài đăng hợp lệ [89]
    • Các bài đăng hợp lệ sẽ được gộp lại và đưa vào vòng lặp để xử lý từng bài một. [89]
    • Đây là luồng xử lý cài đặt thời gian để đăng bài. [90]

4. Kết quả Đăng bài và Xử lý Lỗi [91]

thumbnail

4.1. Minh họa Kết quả Đăng bài [91]

  1. Đăng bài lúc 1:30 [91]
    • Workflow nhận diện được bài đăng lúc 1:30 và đưa vào luồng để đăng. [92]
    • Quá trình đăng nhiều ảnh đã thành công. [94]
  2. Đăng các bài khác lúc 1:32 [97]
    • Tại 1:32, có 6 bài đăng đang chờ xử lý. [97]
    • Các bài đăng đã thành công bao gồm: bài một ảnh, bài không ảnh (chỉ nội dung). [99]
    • Các định dạng khác cũng được đăng thành công: bài đăng Reels (video), bài đăng video, story video. [114]
    • Story ảnh cũng đã đăng thành công, mặc dù có thể cần một thời gian để hiển thị. [125]

4.2. Xử lý Lỗi Đăng bài [127]

  1. Lỗi Format Trả về [127]
    • Một số bài đăng gặp lỗi, có thể do quá tải hoặc giới hạn nào đó. [127]
    • Lỗi thường gặp là "output require format" (định dạng đầu ra yêu cầu), khiến bài đăng không được thực hiện. [130]
  2. Cơ chế Xử lý Lỗi [134]
    • Khi gặp lỗi, thay vì dừng workflow, một điều kiện bổ sung sẽ được thêm vào để xử lý. [134]
    • Nếu bài đăng bị lỗi, nó sẽ được đưa về trạng thái "Chờ đăng" để thử lại sau. [142]
    • Luồng tiếp theo sẽ tìm thấy bài đăng "Chờ đăng" này và tiếp tục xử lý. [145]
  3. Xử lý Lỗi do Nội dung Chính trống [149]
    • Lỗi cũng có thể xảy ra nếu nội dung chính của bài đăng không được cung cấp (ví dụ: khi sử dụng AI sinh nội dung nhưng không có nội dung gốc). [150]
    • Để khắc phục, có thể tắt chức năng AI sinh nội dung hoặc cung cấp nội dung chính. [152]
    • Workflow sẽ tiếp tục nhận và xử lý bài đăng sau khi khắc phục lỗi. [154]

4.3. Cấu trúc Workflow và Lấy Token/Prompt [159]

  1. Phần Lấy Token và Prompt AI [160]
    • Workflow có một phần dành cho "Fanpage" để lấy token của Facebook. [160]
    • "Prompt" được sử dụng để AI sinh nội dung cho bài đăng. [165]
  2. Xử lý Dữ liệu và Chuẩn bị Đăng bài [188]
    • Kết quả trả về từ việc lấy token và prompt AI sẽ được xử lý. [188]
    • Cần lấy lại nội dung bài đăng để chuẩn bị cho việc đăng. [189]
    • Dữ liệu sẽ được xử lý để khớp với định dạng đầu ra của bot (content và title). [195]
    • Các link ảnh sẽ được gộp lại, loại bỏ các link rỗng. [200]
    • Nội dung và tiêu đề sẽ được xử lý để khớp với dữ liệu trả về từ bot. [197]

5. Chi tiết các Loại Bài đăng và Cách thực hiện [200]

thumbnail

5.1. Đăng Nhiều Ảnh [200]

  1. Quy trình Đăng nhiều ảnh [201]
    • Workflow sẽ lấy toàn bộ dữ liệu và push vào một danh sách. [203]
    • Các link ảnh từ Google Drive sẽ được gộp lại, loại bỏ các link rỗng. [206]
    • Nội dung và tiêu đề cũng được xử lý. [207]
    • Một "switch" được sử dụng để xác định loại bài đăng (nhiều ảnh, một ảnh, video, Reels). [216]
    • Facebook không cho phép đăng nhiều ảnh cùng lúc, nên mỗi ảnh sẽ được đăng riêng lẻ vào "photo". [223]
    • Ảnh được lưu trên Google Drive và cần được tải về trước khi upload lên Facebook. [225]
    • Sau khi tải ảnh về, chúng được upload lên "photo" của Facebook dưới dạng binary file. [238]
    • Các "media ID" của ảnh được gộp lại thành một mảng. [241]
    • Cuối cùng, nội dung (bao gồm media đã đính kèm, tiêu đề, nội dung chính và nội dung bắt buộc) được đăng lên feed của Facebook. [257]
  2. Cập nhật Trạng thái và Tạo Link [271]
    • Sau khi đăng thành công, workflow sẽ cập nhật trạng thái thành "thành công" và tạo link Facebook để xem lại bài đăng. [273]
    • Dữ liệu thành công sẽ được đưa vào phần kết quả và quay lại vòng lặp để xử lý bài đăng tiếp theo. [276]

5.2. Đăng Một Ảnh [265]

  1. Quy trình Đăng một ảnh [265]
    • Ảnh cũng được tải về từ Google Drive. [265]
    • Sau đó, ảnh được upload thẳng vào bài viết, không cần tạo feed riêng. [266]
    • Bài đăng một ảnh được public trực tiếp. [268]

5.3. Đăng Reels [281]

  1. Quy trình Đăng Reels [281]
    • Đăng Reels tương tự như đăng video, chỉ khác nhau về API của Facebook. [282]
    • Để đăng video, cần tạo một "session upload" vì quá trình này mất nhiều thời gian. [289]
    • Facebook sẽ trả về một URL để upload video. [293]
    • Video từ Google Drive được tải về. [295]
    • Sau đó, video được upload lên Facebook bằng URL session đã nhận được, với các tham số như offset, file name, và file size. [302]
    • Facebook sử dụng offset và file size để xử lý các file video lớn bằng cách cắt thành nhiều phần nhỏ và ghép lại sau khi upload. [307]
    • Sau khi upload thành công, video được public. [310]
    • Workflow cập nhật trạng thái upload và đăng nội dung cho Reels. [311]
    • Có thể cần chờ một khoảng thời gian để video được xử lý hoàn chỉnh. [314]

5.4. Đăng Video [317]

  1. Quy trình Đăng Video [317]
    • Quy trình đăng video tương tự như đăng Reels. [317]
    • Video được tải về từ Google Drive. [321]
    • Sau đó, video được upload lên Facebook thông qua binary file. [324]
    • Sau khi upload thành công, một ID video được trả về. [325]
    • Trạng thái upload video được cập nhật. [326]

5.5. Đăng Story Ảnh [327]

  1. Quy trình Đăng Story Ảnh [327]
    • Ảnh cho story cũng được tải về từ Google Drive. [328]
    • Sử dụng binary file để đăng ảnh lên story. [333]
    • Quan trọng là HTTP request phải đứng ngay sau bước tải ảnh về để đảm bảo lấy được nội dung. [335]
    • Sau khi upload thành công, story được post lên bằng cách sử dụng "photo ID". [345]
    • Story ảnh không có phần đăng nội dung riêng. [347]

5.6. Đăng Story Video [348]

  1. Quy trình Đăng Story Video [348]
    • Tương tự như đăng Reels, cần tạo một session upload video. [349]
    • Video được upload bằng link session và trả về một "video ID". [351]
    • Sau khi đăng video, cần kiểm tra trạng thái xem video đã hoàn tất xử lý ("complex") hay chưa, vì video có thể nặng và mất thời gian xử lý. [357]
    • Workflow sẽ kiểm tra trạng thái này định kỳ (ví dụ: mỗi 10 giây). [365]
    • Khi video đã sẵn sàng, story video sẽ được public. [367]
    • Kết quả đăng story video được cập nhật và tạo link chuẩn. [370]

6. Hoàn tất và Vòng lặp [372]

thumbnail

6.1. Chuẩn hóa Link và Tiếp tục Vòng lặp [372]

  1. Tạo Link Chuẩn và Cập nhật [372]
    • Link story của Facebook có cấu trúc đặc biệt (story/ID), nên cần được chuẩn hóa. [373]
    • Tất cả các kết quả đăng bài sẽ được gộp chung về một quy chuẩn để không cần dùng nhiều câu lệnh if. [373]
  2. Quay lại Vòng lặp Chính [374]
    • Sau khi đăng thành công, workflow sẽ quay lại vòng lặp để xử lý bài đăng tiếp theo. [374]
    • Quá trình này tiếp tục cho đến khi hết bài đăng trong danh sách. [376]