Hướng dẫn lấy Long-lived User Token – token facebook vĩnh viễn
1. Tại sao Long-lived User Token không thể tự làm mới mãi mãi?
Nhiều quản trị viên website thường kỳ vọng có thể cấu hình mã Cron tự động gọi API Facebook mỗi ngày để gia hạn Token mà không bao giờ cần thao tác lại. Tuy nhiên, theo chính sách bảo mật của Meta (Facebook), điều này là không thể thực hiện được đối với User Access Token (Token người dùng cá nhân):
- Long-lived User Token có trần thời hạn tối đa là 60 ngày:
Cơ chếgrant_type=fb_exchange_tokencủa Facebook chỉ cho phép nâng cấp từ Token ngắn hạn (Short-lived – 1 đến 2 tiếng) lên Token dài hạn (Long-lived – 60 ngày). Facebook tuyệt đối không cho phép dùng API tự động để làm mới hoặc xoay vòng liên tục chu kỳ 60 ngày này nếu không có thao tác đăng nhập lại từ người dùng. - Token sẽ chết khi hết chu kỳ 60 ngày:
Khi chạm mốc 60 ngày kể từ ngày khởi tạo, User Token sẽ hết hạn hoàn toàn và phiên đăng nhập bị hủy. - Lỗi phát sinh:
Một khi User Token đã chết, bất kỳ yêu cầu gửi lên từ website/plugin đều sẽ bị Facebook chặn đứng và trả về thông báo lỗi:Error validating access token: Session has expired...Lúc này, hệ thống sẽ không thể tự lấy lại được Page Token mới.
2. Bản chất thật sự của Facebook Page Access Token (Loại Vĩnh Viễn)
Khác với tài khoản cá nhân, Facebook Page Access Token hoàn toàn có thể đạt trạng thái VĨNH VIỄN (Expires: Never) nếu bạn tuân thủ đúng quy trình cấp phát token theo phân cấp của Facebook:
- User Token ngắn hạn sinh ra Page Token ngắn hạn (chỉ dùng được trong 1 đến 2 tiếng).
- User Token dài hạn (Long-lived) khi gọi vào endpoint
/me/accountssẽ sinh ra Page Access Token VĨNH VIỄN (Never Expires).
Lưu ý: Page Token “Never Expires” có thể sử dụng liên tục nhiều năm mà không cần Cron làm mới hàng ngày. Token này chỉ bị mất hiệu lực trong các trường hợp sau:
- Người tạo Token thay đổi mật khẩu tài khoản Facebook cá nhân.
- Người dùng chủ động gỡ bỏ hoặc hủy quyền của Ứng dụng (App) trong phần Cài đặt Facebook.
- Tài khoản người tạo bị xóa khỏi quyền Quản trị viên (Admin) của Fanpage đó.
3. Hướng dẫn chi tiết 4 bước lấy Page Token Facebook VĨNH VIỄN
Bạn chỉ cần thực hiện quy trình này đúng 1 lần duy nhất theo các bước sau:
Bước 1: Lấy Short-lived User Token từ Graph API Explorer
- Truy cập công cụ Facebook Graph API Explorer.
- Tại mục Meta App (góc trên bên phải), chọn đúng Ứng dụng bạn dùng để kết nối website.
- Tại mục User or Page, chọn Get User Access Token.
- Tích chọn đủ 4 quyền hạn bắt buộc:
pages_show_list(xem danh sách trang)pages_read_engagement(đọc tương tác trang)pages_manage_posts(đăng bài viết lên trang)pages_manage_engagement(quản lý bình luận trên trang)
- Nhấn nút Generate Access Token và tiến hành xác nhận phê duyệt quyền trên tài khoản Facebook cá nhân của bạn.
- Copy đoạn mã Token vừa sinh ra (đây là SHORT_TOKEN, có hạn 1-2 tiếng).
Bước 2: Đổi sang Long-lived User Token (Thời hạn 60 ngày)
Mở một tab trình duyệt mới và truy cập đường dẫn sau (thay thế các giá trị trong dấu ngoặc nhọn bằng thông tin thực tế của bạn):
https://graph.facebook.com/v20.0/oauth/access_token?grant_type=fb_exchange_token&client_id={APP_ID}&client_secret={APP_SECRET}&fb_exchange_token={SHORT_TOKEN}
Trình duyệt sẽ trả về dữ liệu dạng JSON như sau:
{
"access_token": "EAAG...",
"token_type": "bearer"
}
Hãy copy toàn bộ chuỗi nằm trong access_token (đoạn bắt đầu bằng EAAG...). Đây chính là LONG_LIVED_USER_TOKEN có hạn 60 ngày.
Bước 3: Trích xuất Page Access Token VĨNH VIỄN
Sử dụng LONG_LIVED_USER_TOKEN vừa lấy được ở Bước 2 để gọi tiếp đường dẫn sau trên trình duyệt:
https://graph.facebook.com/v20.0/me/accounts?access_token={LONG_LIVED_USER_TOKEN}
Trình duyệt sẽ trả về danh sách tất cả các Fanpage mà bạn đang quản trị. Tìm đến Fanpage bạn muốn đăng bài và copy chính xác chuỗi ký tự nằm trong trường access_token của Fanpage đó.
Bước 4: Kiểm tra và lưu vào hệ thống
- Truy cập công cụ Access Token Debugger của Facebook.
- Dán đoạn Token của Fanpage bạn vừa lấy ở Bước 3 vào ô kiểm tra và nhấn Debug.
- Tại dòng Expires (Hết hạn), nếu hệ thống hiển thị là Never (hoặc để trống thời hạn), token của bạn đã đạt trạng thái vĩnh viễn thành công.
- Dán đoạn Token này vào ô cấu hình Facebook Page Access Token trên website của bạn và bấm Lưu cài đặt.
Để lại bình luận