Triển khai · Đăng bài Facebook tự động

Facebook Lark Base,
đăng bài không cần máy chủ riêng

Thêm một dòng vào Lark Base — máy tự đăng lên Fanpage của bạn, đúng giờ hẹn hoặc bấm tay. Không cài phần mềm, không cần mở máy tính, không cần biết code.

Bạn tự tay đúng 3 việc — tạo App Lark, lấy Facebook Token, tạo mã GitHub. Điền vào các ô bên dưới, trang tự sinh sẵn link và khối cấu hình để bạn dán.

  1. Tạo App Larktay · 5 phút · một lần
  2. Fork & cấu hình GitHubdán 2 mã bí mật, 2 biến
  3. Chạy 2 lệnh đầutạo bảng, kéo Fanpage
  4. Dựng 2 automation Larkkhối JSON sinh sẵn
01

Hiểu đúng một điều này thì mọi bước sau đều dễ

Đây là chỗ hỏng im lặng nhiều nhất

Lệnh đăng bài luôn báo "đã nhận" — kể cả khi không có gì chạy thật.

GitHub trả về mã 204 ngay khi nhận được lệnh, trước khi lệnh đó chạy xong. Nếu bản sao repo của bạn chưa bật tab Actions, GitHub vẫn nhận lệnh, vẫn trả về đúng 204 y hệt lúc thành công — nhưng không chạy một dòng nào cả. Bạn tưởng bài đã lên Fanpage, thực ra chưa có gì xảy ra.

Tin vào mã 204SAI
Vì sao204 chỉ nghĩa là "GitHub đã nghe thấy", không phải "đã đăng xong".
Mở tab Actions xem có dòng chạy mớiĐÚNG
Cách nhận biếtDòng chạy màu xanh = đã đăng thật. Không thấy dòng nào = quên bật Actions (Bước 05).
Ba nơi thao tác, ba việc khác nhau: Lark Base là nơi bạn gõ nội dung, GitHub Actions là nơi lệnh chạy thật (gọi API Facebook, upload ảnh), Lark Automation chỉ đứng giữa bấm chuông báo "có bài mới, chạy đi".
02

Việc tay thứ nhất — tạo App Lark riêng

Khoảng 5 phút, làm một lần duy nhất. Đây là app của riêng bạn, không liên quan tới app của người hướng dẫn.

  1. open.larksuite.com/appCreate custom app

    Vào Credentials & Basic Info lấy App ID (dạng cli_...) và App Secret.

  2. Tab Permissions & Scopes → thêm đủ 4 quyền

    bitable:app · drive:drive · base:record:retrieve · base:table:create

  3. Tab Version ManagementCreate version → Submit for release

    Quyền vừa thêm chưa có hiệu lực cho tới khi phát hành phiên bản này.

  4. Mở Base của bạn → → thêm app vừa tạo, cấp quyền Chỉnh sửa

    Bước hay quên nhất. Có đủ quyền ở app rồi vẫn phải tự tay mời app vào từng Base.

Mở Base trên trình duyệt rồi dán nguyên thanh địa chỉ vào đây.
03

Việc tay thứ hai — lấy Facebook Token dài hạn

Khoảng 5 phút. Token này là "chìa khoá" để hệ thống đăng bài thay bạn — phải là Admin của Fanpage muốn đăng.

  1. developers.facebook.com/tools/explorer → chọn User Token

    Tick đủ quyền: pages_show_list, pages_read_engagement, pages_manage_posts, pages_read_user_content, read_insights, ads_read, business_managementGenerate Access Token.

  2. Đổi sang bản dài hạn (bắt buộc)

    Token vừa lấy chỉ sống 1-2 giờ. Vào debug/accesstoken → dán token → Extend Access Token → copy token mới, sống được ~60 ngày.

04

Việc tay thứ ba — tạo mã GitHub (PAT)

Khoảng 2 phút. Mã này để Lark "gõ cửa" GitHub được — coi như mật khẩu, không dán vào chat nhóm.

  1. Chưa có tài khoản GitHub? Vào github.comSign up (miễn phí)

  2. github.com/settings/tokensGenerate new token (classic)

    Tick ô repo → kéo xuống cuối → Generate token.

  3. Copy ngay — chỉ hiện một lần duy nhất

    Đóng trang là mất, phải tạo mã mới. Dán tạm vào ô bên dưới để trang tự điền vào các khối cấu hình phía sau — mã này không rời khỏi trình duyệt của bạn, trang không có máy chủ nào để gửi tới.

05

Fork repo về tài khoản của bạn + bật Actions

Mở repo gốc → bấm Fork → chọn tài khoản của bạn

github.com/hoangminhhoagpt-dot/mentor-club-facebook → góc trên phải.

Trong bản fork vừa tạo → tab Actions → bấm nút xanh "I understand my workflows, go ahead and enable them"

Đây chính là cách tắt hẳn cái bẫy ở Bước 01. Bỏ qua bước này thì mọi lệnh sau vẫn "chạy" trên mặt giấy nhưng không đăng được bài nào.

Điền tên tài khoản GitHub ở Bước 04 để link này trỏ đúng vào bản fork của bạn.

06

Dán Secrets + Variables, chạy 2 lệnh đầu

Vẫn trong bản fork → Settings → Secrets and variables → Actions.

Tab SecretsLARK_APP_SECRET — App Secret lấy ở Bước 02
FB_USER_TOKEN — token Facebook dài hạn lấy ở Bước 03
Tab VariablesLARK_APP_ID — App ID lấy ở Bước 02
LARK_BASE_IDBase ID lấy ở Bước 02

Xong, vào tab Actions: chạy init-tables (Run workflow, chờ ~20s → 5 bảng 14.114.5 hiện ra trong Base), rồi chạy fetch-pages (chờ ~20s → bảng 14.1 hiện danh sách Fanpage bạn quản lý kèm token riêng từng Page).

Base của bạn đã có sẵn bảng tên bắt đầu bằng "14.1", "14.2"... cho việc khác? Dừng lại trước khi chạy init-tables — hệ thống sẽ tưởng nhầm đó là bảng của nó và ghi thêm cột vào, có thể lẫn dữ liệu cũ. Dùng một Base mới, trống, là an toàn nhất.
07

Dựng 2 automation trong Lark Base

Điền tài khoản GitHub + mã PAT ở Bước 04 — hai khối bên dưới tự điền sẵn URL và Header, chỉ việc sao chép sang Lark.

7.1 — "Đăng bài" (bắt buộc, làm cái này trước)

Cò kích hoạt: Khi bản ghi khớp điều kiện → bảng 14.3 → điều kiện Đăng Đăng ngay.

Hành động — Gửi yêu cầu HTTP

    

7.2 — "Đăng theo lịch hẹn" (chỉ cần nếu muốn hẹn giờ)

Cò kích hoạt: Theo lịch (Scheduled) → chạy mỗi 30 phút.

Hành động — Gửi yêu cầu HTTP

    
Chỗ <<chèn biến Record ID>> ở khối 7.1: xoá đi, bấm nút +/@ trong ô Body của Lark → chọn bảng 14.3 → chọn cột Record ID. Giữ nguyên 2 dấu nháy kép bao quanh.
08

Cách dùng hằng ngày

PageChọn 1 hoặc nhiều Fanpage — đăng lên tất cả cùng lúc.
LoạiHình ảnh hoặc Video (Video đăng dạng Reel — MP4, dọc 9:16, dài 3-90 giây).
Nội dungCaption bài viết.
Ảnh/videoKéo thả file vào.
Lịch đăng bàiĐể trống = đăng ngay khi bấm nút. Điền giờ = chờ automation 7.2 quét tới.
ĐăngĐổi thành Đăng ngay để bắn lệnh. 30–60 giây sau: Trạng thái = Thành công + link từng Page trong Link bài đăng.
09

Bẫy thường gặp — soi ở đây trước khi hỏi

Hiện tượngNguyên nhân thậtCách sửa
Bấm Đăng ngay mà chờ mãi không thấy gì, tab Actions không có dòng chạy nào Bản fork chưa bật Actions Quay lại Bước 05, bấm nút xanh "I understand my workflows..."
Báo "Không thấy bảng khớp 14.1" Chưa chạy init-tables, hoặc LARK_BASE_ID dán sai Chạy lại Bước 06; kiểm tra lại Base ID bằng ô soi ở Bước 02
Lark báo mã 91403 hoặc NOTEXIST App Lark chưa được thêm làm cộng tác viên của Base Làm lại bước "thêm app vào Base" ở mục 02
Báo token Facebook không hợp lệ / hết hạn Token dài hạn hết hạn (~60 ngày) Lấy token mới (Bước 03) → GitHub Settings → Secrets → sửa FB_USER_TOKEN
Đăng bài mà thiếu ảnh Base bật "Quyền nâng cao" nhưng app Lark chưa có quyền Chỉnh sửa Base → ⋯ → Quyền nâng cao → thêm app vào nhóm quyền Chỉnh sửa
Đăng Video (Reel) báo lỗi Video sai chuẩn Facebook Đổi sang MP4, dọc 9:16, dài 3-90 giây
Automation Lark báo 401 / 403 GitHub PAT sai hoặc thiếu quyền repo Tạo lại PAT theo Bước 04, dán lại vào automation