Bối cảnh và vấn đề nghiên cứu

Sự phát triển của công nghệ thông tin và mạng xã hội thúc đẩy mạnh mẽ các hoạt động kinh doanh trực tuyến và thương mại điện tử. Facebook là mạng xã hội có quy mô người dùng lớn hàng đầu thế giới với khoảng 3,3 tỷ người dùng, trong đó Việt Nam ghi nhận gần 60 triệu người sử dụng tại thời điểm nghiên cứu (tháng 5 năm 2019). Nền tảng này trở thành kênh quảng bá thương hiệu, tiếp cận khách hàng tiềm năng qua các diễn đàn, hội nhóm và trang cá nhân.

Tuy nhiên, đối với các đơn vị kinh doanh (điển hình như bài toán kinh doanh mặt hàng thời trang được tác giả nêu trong khóa luận), việc quản trị và tiếp thị trên Facebook bộc lộ nhiều khó khăn trong thao tác thủ công:

  • Tốn nhiều thời gian và công sức khi phải đăng tải khối lượng bài viết lớn, lặp đi lặp lại trên nhiều hội, nhóm và trang cộng đồng.
  • Bỏ lỡ các "khung giờ vàng" tiếp cận khách hàng do hạn chế về thời gian biểu và nhân lực quản trị.
  • Chưa tận dụng được tối đa tiềm năng tương tác và tiếp cận khách hàng của nền tảng mạng xã hội.

Từ thực tế đó, đề tài khóa luận "Ứng dụng Facebook Graph API vào việc xây dựng website tự động thực hiện các thao tác trên Facebook" được thực hiện bởi sinh viên Nguyễn Thị Thu, dưới sự hướng dẫn của TS. Huỳnh Tấn Khải tại Khoa Công nghệ Thông tin – Trường Đại học Quảng Nam, nhằm giải quyết bài toán tự động hóa thao tác đăng bài, lên lịch và tương tác trên mạng xã hội Facebook.

Mục tiêu nghiên cứu:

  1. Nghiên cứu cơ sở lý thuyết và cơ chế hoạt động của giao diện lập trình ứng dụng Facebook Graph API và bộ công cụ phát triển phần mềm (SDK).
  2. Xây dựng một ứng dụng web hoàn chỉnh có khả năng tự động thực hiện các thao tác đăng bài, lên lịch xuất bản và tự động bình luận trên Facebook, giúp tiết kiệm thời gian và nâng cao hiệu quả tương tác cho người dùng.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Facebook Graph API (cơ chế hoạt động, ưu điểm, nhược điểm); các bộ công cụ Facebook SDK (JavaScript SDK, PHP SDK); quy trình phân tích, thiết kế và hiện thực hóa website tự động hóa thao tác người dùng.
  • Phạm vi nghiên cứu: Tìm hiểu cơ chế tương tác với đồ thị xã hội của Facebook; thiết kế và lập trình website đáp ứng các ca sử dụng tự động đăng bài, quản lý bài đăng, quản lý lịch trình xuất bản, tự động bình luận và quản trị tài khoản người dùng theo yêu cầu đặt ra.

Cơ sở lý thuyết và phương pháp

Khung lý thuyết và công nghệ nền tảng

Tác giả hệ thống hóa các khái niệm, kiến trúc và nền tảng công nghệ phục vụ cho việc phát triển hệ thống:

  • Lịch sử và đặc điểm mạng xã hội Facebook: Nền tảng khởi nguồn từ ứng dụng Facemash (28/10/2003) do Mark Elliot Zuckerberg sáng lập tại Đại học Harvard, sau đó thành lập "The Facebook" vào ngày 04/02/2004, đổi tên thành Facebook năm 2005. Nền tảng phát triển tính năng News Feed năm 2006, đạt 1 tỷ lượt truy cập/tháng vào cuối năm 2010 và 1,23 tỷ lượt truy cập/tháng vào năm 2014.
  • Facebook Graph API: Là giải pháp giao tiếp lập trình dựa trên giao thức HTTP (HTTP-based API cấp thấp), cho phép ứng dụng đọc và ghi dữ liệu vào "đồ thị xã hội" của Facebook. Dữ liệu trên Graph API được tổ chức thành ba thành phần cấu trúc:
    • Nodes (Nút): Đại diện cho các đối tượng độc lập như người dùng (user), hình ảnh (photo), trang (page), bình luận (comment).
    • Edges (Cạnh): Đại diện cho các mối liên kết giữa các đối tượng (ví dụ: danh sách ảnh trong một trang, danh sách bình luận dưới một bài đăng).
    • Fields (Trường dữ liệu): Các thông tin thuộc tính của một đối tượng cụ thể (ví dụ: ngày sinh, tên người dùng, đường dẫn hình ảnh).
    • Cơ chế giao tiếp: Hoạt động thông qua giao thức HTTP, cho phép tương tác bằng các thư viện như cURL (ngôn ngữ C) hoặc urllib (Python), hỗ trợ Open Graph để định nghĩa hành động và đối tượng mới.
  • Facebook Login: Giải pháp xác thực người dùng chéo nền tảng (Web, iOS, Android, Windows Phone, Smart TV, IoT). Cơ chế hỗ trợ phân quyền chi tiết, ủy quyền từng bước (incremental authorization), đồng bộ danh tính thực và tích hợp song song với hệ thống tài khoản nội bộ.
  • Bộ công cụ phát triển phần mềm (SDK):
    • Facebook SDK cho JavaScript: Hoạt động phía client, nhúng không đồng bộ vào mã nguồn HTML, hỗ trợ chèn Social Plugins, hộp thoại chia sẻ và đăng nhập.
    • Facebook SDK cho PHP: Thư viện phía máy chủ, cung cấp các lớp mở rộng giúp tương tác trực tiếp với Graph API, hỗ trợ gửi yêu cầu hàng loạt (batch requests) và tải tệp đa phương tiện (ảnh, video).
  • Ngôn ngữ PHP và kiến trúc MVC: Ngôn ngữ lập trình kịch bản mã nguồn mở phía máy chủ (PHP: Hypertext Preprocessor). Kiến trúc phần mềm áp dụng mô hình Model – View – Controller (nghiên cứu tại Xerox PARC cuối thập niên 1970 từ Smalltalk), phân chia mã nguồn thành ba thành phần:
    • Model: Quản lý dữ liệu và logic nghiệp vụ.
    • View: Trình bày giao diện người dùng.
    • Controller: Tiếp nhận yêu cầu, điều phối luồng dữ liệu giữa Model và View.
  • Hệ quản trị cơ sở dữ liệu MySQL: Hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở tốc độ cao, hỗ trợ giao thức kết nối ODBC, tương thích đa nền tảng (Linux, Windows, OS/2).

Phương pháp nghiên cứu

Đề tài kết hợp hai nhóm phương pháp nghiên cứu chính:

Nhóm phương pháp Hoạt động triển khai cụ thể
Phương pháp nghiên cứu lý thuyết - Thu thập, phân tích và tổng hợp tài liệu chuyên môn về giao thức Facebook Graph API, tài liệu kỹ thuật của Facebook Developers.
- Nghiên cứu cú pháp ngôn ngữ lập trình PHP, mô hình kiến trúc MVC và hệ quản trị cơ sở dữ liệu MySQL.
- Khảo sát thực trạng quy trình đăng bài thủ công và thu thập yêu cầu người dùng.
- Tham khảo sách, giáo trình chuyên ngành và ý kiến tư vấn từ cán bộ hướng dẫn.
Phương pháp nghiên cứu thực nghiệm - Phân tích yêu cầu bài toán kinh doanh thực tế, xác định các tác nhân và ca sử dụng.
- Thiết kế hệ thống: xây dựng biểu đồ phân rã chức năng, biểu đồ ca sử dụng (Use Case), biểu đồ tuần tự (Sequence Diagram), biểu đồ hoạt động (Activity Diagram) và biểu đồ lớp (Class Diagram).
- Thiết kế cấu trúc cơ sở dữ liệu quan hệ.
- Lập trình hiện thực hóa các chức năng trên nền tảng PHP/CodeIgniter.
- Thử nghiệm chức năng, kiểm thử kết nối API và đánh giá kết quả hoạt động trên thực tế.

Thiết kế và triển khai

Hệ thống được thiết kế theo mô hình MVC, phát triển trên nền tảng ngôn ngữ PHP (sử dụng khung làm việc CodeIgniter với các lớp cơ sở như MY_Model, thư viện form_validation, session) kết nối cơ sở dữ liệu MySQL và tích hợp Facebook Graph API.

Phân tích chức năng và tác nhân hệ thống

Hệ thống xác định hai tác nhân chính (Actor):

  1. Người dùng (User): Thực hiện các chức năng đăng nhập, quản lý nội dung bài đăng, quản lý lịch xuất bản bài đăng, quản lý bình luận tự động, kết nối tài khoản Facebook và tùy biến cài đặt tài khoản cá nhân.
  2. Quản trị viên (Admin): Sở hữu toàn bộ quyền hạn của Người dùng, đồng thời quản lý danh sách tài khoản người dùng, phân quyền, kích hoạt/khóa tài khoản và cấu hình hệ thống chung.

Hệ thống đặc tả 5 ca sử dụng chính:

  • UC01 - Đăng nhập: Xác thực tài khoản người dùng và quản trị viên vào hệ thống.
  • UC02 - Cập nhật bài đăng: Cho phép thêm, sửa, xóa và lưu trữ nội dung bài đăng ở nhiều định dạng.
  • UC03 - Thêm lịch đăng: Cho phép chọn bài viết, chọn nhóm/fanpage mục tiêu, thiết lập mốc thời gian và tần suất xuất bản.
  • UC04 - Cập nhật bình luận: Quản lý danh mục nội dung bình luận, thiết lập thời gian trễ và tần suất tương tác.
  • UC05 - Cập nhật người dùng: Dành riêng cho Admin để thêm mới, sửa, xóa hoặc thay đổi trạng thái kích hoạt tài khoản.

Thiết kế cơ sở dữ liệu

Cơ sở dữ liệu của hệ thống được xây dựng trên MySQL, bao gồm 13 bảng quan hệ phục vụ việc vận hành và ghi nhận nhật ký:

Tên bảng Chức năng lưu trữ trong hệ thống
posts Lưu trữ thông tin chi tiết bài viết (tiêu đề, nội dung, loại bài đăng, ngày tạo, mã người dùng).
auto_comment Lưu trữ cấu hình bình luận tự động (mã người dùng, độ trễ thời gian, trạng thái hoạt động).
processed_fb_account Lưu trữ tiến trình và trạng thái xử lý tác vụ đăng bài lên tài khoản Facebook.
comments Quản lý danh mục các mẫu nội dung bình luận được soạn sẵn.
comment_logs Ghi nhận nhật ký bình luận thực tế (nội dung, thời gian thực thi, khóa bài viết mục tiêu).
roles Phân quyền vai trò người dùng (giới hạn số bài đăng tối đa, số bình luận tối đa được phép tạo).
fb_account Quản lý thông tin tài khoản Facebook kết nối (tên tài khoản, danh sách nhóm tham gia, nhóm ẩn, trang fanpage).
notifications Quản lý nội dung thông báo hệ thống (tiêu đề, nội dung, thời điểm khởi tạo).
proxies Quản lý thông tin máy chủ proxy gán cho tài khoản (địa chỉ proxy, người dùng, thời gian tạo).
schedules_posts Lưu trữ thông tin các bài đăng đã lên lịch (trạng thái, chu kỳ lặp lại, thời gian chạy kế tiếp).
schedules_logs Ghi nhận lịch sử chi tiết quá trình thực thi các bài đăng đã lên lịch (nội dung, trạng thái thành công/thất bại).
statics Lưu trữ số liệu thống kê hiệu năng bài đăng (số bài đăng thành công, bài thất bại, số lượt bình luận).
users Quản lý tài khoản hệ thống (tên đăng nhập, mật khẩu mã hóa, thư điện tử).

Hiện thực hóa mã nguồn hệ thống

Mã nguồn được cấu trúc theo các Controller và Model xử lý trực tiếp nghiệp vụ tương tác dữ liệu và chuẩn bị gói tin cho Graph API:

  • Bộ điều khiển xử lý bài viết (Posts Controller):

    • Hàm add(): Sử dụng thư viện form_validation để kiểm tra tính hợp lệ của tiêu đề (post_title) và phân loại bài đăng (post_type). Hàm hỗ trợ xử lý 4 định dạng bài đăng:
      1. Dạng tin nhắn văn bản (message): Kiểm tra độ dài ký tự và thiết lập mã định dạng sẵn (fb_preset_id).
      2. Dạng liên kết (link): Yêu cầu bắt buộc địa chỉ liên kết, cùng các trường ảnh thu nhỏ (picture), tiêu đề (name), phụ đề (caption) và mô tả (description).
      3. Dạng hình ảnh (image): Thu thập mảng đường dẫn hình ảnh (giới hạn theo hằng số MAX_NUM_IMG_POST), hỗ trợ cờ thuộc tính ảnh toàn cảnh tròn (allow_spherical_photo khi nhận diện tham số hinh_anh_tron).
      4. Dạng video (video): Yêu cầu bắt buộc đường dẫn tệp video và phần văn bản mô tả đi kèm. Sau khi hợp thức hóa, toàn bộ cấu trúc nội dung được tuần tự hóa dạng JSON (json_encode) và truyền qua đối tượng Post_Model để ghi nhận vào cơ sở dữ liệu.
    • Hàm delete(): Tiếp nhận danh sách định danh (ids) dạng chuỗi JSON giải mã, kiểm tra quyền sở hữu bài viết của user_id hiện hành và gọi thao tác xóa hàng loạt trong cơ sở dữ liệu.
  • Mô hình dữ liệu bài viết (Post_model): Kế thừa từ lớp nền tảng MY_Model, khai báo các trường thuộc tính đóng: $id, $userId, $content, $createdAt, $title, $type.

    • Triển khai phương thức ma thuật __call() để tự động ánh xạ các phương thức getter và setter cho các thuộc tính nội bộ.
    • Phương thức save(): Khởi tạo dữ liệu trên bảng posts bằng cấu trúc Active Record của framework, thiết lập mốc thời gian hệ thống và trả về định danh bản ghi vừa tạo.
    • Các phương thức thống kê: count() đếm tổng số bài viết của người dùng, countUsersPosts($userId) phục vụ chức năng quản trị viên giám sát tải lượng dữ liệu của từng thành viên.

Nội dung chính theo từng chương

Phần 1: Mở đầu

Trình bày tính cấp thiết của đề tài trong bối cảnh thương mại điện tử bùng nổ và sự phổ biến của mạng xã hội Facebook tại Việt Nam. Xác định mục tiêu nghiên cứu là làm chủ giao thức Graph API để tự động hóa thao tác đăng bài, tiết kiệm thời gian vận hành cho doanh nghiệp. Khái quát hóa đối tượng nghiên cứu, phạm vi ứng dụng, các phương pháp tiếp cận (lý thuyết kết hợp thực nghiệm) và cấu trúc 3 chương chuyên môn của khóa luận.

Chương 1: Giới thiệu về Facebook và Cơ sở lý thuyết

Hệ thống hóa toàn bộ nền tảng kiến thức công nghệ được sử dụng trong khóa luận:

  • Phân tích sự hình thành và các giai đoạn phát triển của mạng xã hội Facebook, chỉ rõ ưu điểm về khả năng kết nối cộng đồng, tính đa dạng dịch vụ và nhược điểm về nguy cơ rò rỉ dữ liệu cùng việc kiểm soát nội dung tin giả.
  • Phân tích chi tiết mô hình dữ liệu đồ thị của Facebook Graph API dựa trên ba thành phần cốt lõi: Nodes, Edges và Fields; cách thức giao tiếp HTTP cấp thấp hỗ trợ cURL và urllib; nêu bật ưu điểm về tốc độ, khả năng tích hợp và chỉ ra hạn chế khi Facebook chỉ cung cấp SDK JavaScript cho phía máy khách (thiếu SDK chính thức cho Node.js).
  • Giới thiệu giải pháp Facebook Login với các cơ chế đăng nhập chéo nền tảng, quản lý quyền chi tiết và ủy quyền từng bước.
  • Làm rõ cơ chế hoạt động của Facebook SDK cho JavaScript và Facebook SDK cho PHP.
  • Tổng quan về ngôn ngữ lập trình PHP, lịch sử và nguyên lý phân tách thành phần của kiến trúc MVC (Model, View, Controller), cùng các ưu điểm về tốc độ và tính bảo mật của hệ quản trị cơ sở dữ liệu MySQL.

Chương 2: Phân tích thiết kế website tự động thực hiện các thao tác đăng bài, bình luận trên Facebook

Tập trung vào quy trình kỹ thuật phần mềm cho bài toán ứng dụng cụ thể:

  • Mô tả bài toán nghiệp vụ kinh doanh thời trang: nhu cầu đăng bài đồng thời lên trang cá nhân, fanpage và các nhóm tham gia; nhu cầu lên lịch giãn cách thời gian để tránh bị Facebook chặn tương tác; nhu cầu tự động bình luận nhằm duy trì thứ hạng hiển thị.
  • Xác định chi tiết hai tác nhân hệ thống (User và Admin), lập biểu đồ phân rã chức năng và bảng đặc tả cho 5 ca sử dụng cốt lõi (Đăng nhập, Cập nhật bài đăng, Thêm lịch đăng, Cập nhật bình luận, Cập nhật người dùng).
  • Xây dựng hệ thống tài liệu thiết kế phần mềm trực quan gồm:
    • Các biểu đồ trình tự (Sequence Diagrams) mô tả luồng tương tác giữa Tác nhân, Giao diện, Bộ điều khiển và Cơ sở dữ liệu cho từng chức năng.
    • Các biểu đồ hoạt động (Activity Diagrams) mô hình hóa quy trình nghiệp vụ từ bước kiểm tra dữ liệu đầu vào đến khi ghi nhận thành công vào hệ thống.
    • Biểu đồ lớp (Class Diagram) mô tả mối quan hệ giữa các thực thể phần mềm.

Chương 3: Xây dựng website tự động thực hiện các thao tác đăng bài, bình luận trên Facebook

Hiện thực hóa thiết kế lý thuyết thành sản phẩm phần mềm hoạt động thực tế:

  • Đặc tả cấu trúc chi tiết của 13 bảng dữ liệu quan hệ trong MySQL.
  • Minh họa các đoạn mã nguồn xử lý trung tâm thuộc tầng điều khiển (Posts::add, Posts::delete) và tầng mô hình dữ liệu (Post_model).
  • Trình bày danh mục hình ảnh các giao diện chức năng chính của website đã hoàn thiện: Giao diện bảng điều khiển chính, Giao diện quản lý bài đăng, Giao diện quản lý lịch xuất bản, Giao diện quản lý bình luận tự động, Giao diện quản trị người dùng và Giao diện cấu hình cài đặt hệ thống.

Kết quả và đóng góp

Kết quả đạt được

Đề tài đã hoàn thành việc xây dựng ứng dụng web đáp ứng đầy đủ các yêu cầu kỹ thuật và nghiệp vụ đặt ra:

  • Tự động hóa đăng tải đa định dạng: Hỗ trợ tạo và đăng bài viết dưới 4 hình thức: văn bản thuần túy, liên kết dẫn nguồn kèm ảnh thu nhỏ, bộ sưu tập nhiều hình ảnh (hỗ trợ hiển thị ảnh tròn toàn cảnh 360 độ), và video đính kèm mô tả.
  • Quản lý lịch trình xuất bản đa kênh: Thiết lập khả năng tự động đăng bài đồng thời hoặc giãn cách thời gian lên trang cá nhân, các hội nhóm đã tham gia và fanpage do người dùng quản trị; kiểm soát trạng thái xuất bản (thành công, thất bại, đang chờ).
  • Hệ thống tương tác tự động: Tự động tạo bình luận theo kịch bản định sẵn với khả năng tùy chỉnh thời gian bắt đầu, thời gian kết thúc, tần suất lặp lại và độ trễ thời gian nhằm tăng tương tác bài viết.
  • Hệ thống quản trị và phân quyền: Phân tách rõ ràng vai trò giữa Quản trị viên và Người dùng; quản lý giới hạn bài đăng và số lượng bình luận thông qua bảng vai trò (roles); ghi nhận chi tiết nhật ký vận hành qua các bảng schedules_logs và comment_logs.
  • Cấu hình hệ thống linh hoạt: Cho phép người dùng tùy biến múi giờ, ngôn ngữ hiển thị, số lượng bản ghi hiển thị trên một trang và thông số thời gian đăng mặc định.

Đóng góp của đề tài

  1. Về mặt ứng dụng thực tiễn: Cung cấp một giải pháp phần mềm cụ thể giúp các cá nhân, đơn vị kinh doanh trực tuyến tiết kiệm thời gian, tối ưu hóa quy trình tiếp thị trên Facebook và khai thác hiệu quả các khung giờ có lượng người dùng truy cập cao mà không cần thao tác trực tiếp.
  2. Về mặt kỹ thuật học thuật: Khóa luận hệ thống hóa các kiến thức nền tảng về giao thức Facebook Graph API, các công cụ SDK và quy trình tích hợp API của bên thứ ba vào mô hình MVC trên ngôn ngữ PHP. Đề tài đóng vai trò là tài liệu tham khảo cho sinh viên ngành Công nghệ thông tin trong việc nghiên cứu phát triển các ứng dụng kết nối mạng xã hội.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế

Dựa trên nội dung khóa luận và phạm vi nghiên cứu, tác giả chỉ ra các hạn chế:

  • Khóa luận được thực hiện trong phạm vi thời gian có hạn và trình độ sinh viên còn giới hạn, đề tài có phạm vi rộng nên khó tránh khỏi các thiếu sót trong quá trình hiện thực hóa toàn bộ các kịch bản thực tế.
  • Khóa luận phụ thuộc hoàn toàn vào kiến trúc và chính sách của Facebook Graph API: tại thời điểm nghiên cứu, Facebook chỉ cung cấp SDK JavaScript cho phía máy khách mà không có SDK chính thức cho nền tảng Node.js; các gói thư viện bên thứ ba chưa đạt độ ổn định và hoàn thiện cao như các nền tảng khác (ví dụ: thư viện Twit của Twitter API).
  • Ứng dụng khai thác dữ liệu và thực thi thông qua tài khoản cá nhân, do đó tiềm ẩn các nguy cơ về bảo mật thông tin và an toàn tài khoản trước các đợt rà soát chính sách bảo mật từ phía Facebook.

Hướng nghiên cứu tiếp

  • Tiếp tục tối ưu hóa thuật toán lập lịch xuất bản và cơ chế quản lý danh sách proxy nhằm nâng cao độ an toàn cho tài khoản Facebook kết nối.
  • Cập nhật mã nguồn tương thích với các phiên bản Graph API mới hơn nhằm duy trì tính ổn định của các điểm cuối API (endpoints).
  • Mở rộng các tính năng phân tích số liệu tương tác chuyên sâu, xây dựng cơ chế phản hồi tin nhắn tự động thông qua tích hợp Facebook Messenger API.

Giá trị tham khảo

Tài liệu khóa luận có giá trị tham khảo thiết thực cho các nhóm đối tượng:

  • Sinh viên chuyên ngành Công nghệ thông tin và Kỹ thuật phần mềm: Là tài liệu tham khảo trực tiếp cho các đồ án tốt nghiệp, môn học Công nghệ Web, Phát triển ứng dụng phân tán hoặc Chuyên đề tích hợp hệ thống.
  • Lập trình viên phát triển ứng dụng Web PHP: Cung cấp cấu trúc tham khảo về việc tổ chức mã nguồn theo mô hình MVC (CodeIgniter), cách phân tách tầng dữ liệu qua MY_Model và phương pháp xử lý dữ liệu biểu mẫu phức tạp (xử lý JSON, cấu trúc đa phương tiện ảnh/video).
  • Nhà nghiên cứu tích hợp API mạng xã hội: Phần phân tích về cơ chế Nodes, Edges, Fields và quy trình xác thực ủy quyền của Facebook Login là tài liệu hệ thống hóa rõ ràng, dễ tiếp cận.

Phần đáng tham khảo nhất trong khóa luận là hệ thống tài liệu phân tích thiết kế phần mềm ở Chương 2 (với các biểu đồ tuần tự, biểu đồ ca sử dụng rõ ràng) và thiết kế cơ sở dữ liệu quan hệ gồm 13 bảng chi tiết ở Chương 3, phản ánh đầy đủ nghiệp vụ quản lý lịch trình và nhật ký thực thi tác vụ nền.


Câu hỏi thường gặp

1. Website xây dựng trong khóa luận hỗ trợ những định dạng bài đăng nào lên Facebook?
Hệ thống hỗ trợ 4 định dạng bài đăng chính thông qua hàm Posts::add(): tin nhắn văn bản thuần túy (message, hỗ trợ mẫu màu nền fb_preset_id), bài đăng kèm liên kết (link, kèm hình ảnh thu nhỏ, tiêu đề và mô tả), bài đăng hình ảnh (image, hỗ trợ đăng nhiều ảnh đồng thời và tùy chọn hiển thị ảnh toàn cảnh 360 độ allow_spherical_photo), và bài đăng video (video, đi kèm nội dung mô tả).

2. Facebook Graph API tổ chức và quản lý dữ liệu theo mô hình cấu trúc nào?
Facebook Graph API tổ chức dữ liệu theo khái niệm "đồ thị xã hội" (social graph), bao gồm ba thành phần:

  • Nodes: Các đối tượng độc lập như người dùng, trang, ảnh, bình luận.
  • Edges: Mối liên kết giữa các tập hợp đối tượng hoặc giữa đối tượng này với đối tượng khác (ví dụ: ảnh trên một trang).
  • Fields: Thuộc tính dữ liệu cụ thể của một đối tượng (ví dụ: ngày sinh của người dùng, tên bài viết).

3. Cơ sở dữ liệu của hệ thống quản lý các tác vụ tự động và lịch sử hoạt động thông qua những bảng nào?
Hệ thống sử dụng các bảng chuyên biệt trong MySQL để theo dõi tác vụ nền: bảng schedules_posts lưu trữ lịch xuất bản và tần suất lặp lại; bảng schedules_logs ghi nhận nhật ký kết quả thực thi các bài đăng đã lên lịch; bảng auto_comment lưu cấu hình bình luận tự động; bảng comment_logs ghi nhận chi tiết nội dung và bài viết đã bình luận; bảng processed_fb_account lưu trữ tiến trình gửi bài; và bảng statics thống kê số lượng bài đăng thành công hoặc thất bại.

4. Sự khác biệt về quyền hạn giữa hai tác nhân Người dùng (User) và Quản trị viên (Admin) trong hệ thống là gì?
Người dùng (User) chỉ có quyền thực thi các nghiệp vụ cá nhân: quản lý bài đăng của chính mình, lên lịch đăng bài, thiết lập bình luận tự động, kết nối tài khoản Facebook cá nhân và cấu hình tài khoản của mình. Quản trị viên (Admin) sở hữu toàn bộ các chức năng trên, đồng thời có thêm quyền quản lý người dùng (UC05), bao gồm: thêm tài khoản mới, chỉnh sửa thông tin người dùng, xóa tài khoản, quy định trạng thái kích hoạt/khóa tài khoản, phân quyền số lượng bài đăng/bình luận tối đa thông qua bảng roles.

5. Hệ thống sử dụng những công nghệ và khung làm việc (framework) nào để lập trình và lưu trữ dữ liệu?
Hệ thống được lập trình bằng ngôn ngữ PHP theo mô hình kiến trúc MVC (sử dụng khung làm việc CodeIgniter với lớp kế thừa MY_Model và các thư viện hỗ trợ form_validation, session), sử dụng cơ sở dữ liệu MySQL để lưu trữ, và tích hợp Facebook SDK cho PHP cùng Facebook SDK cho JavaScript để gửi nhận yêu cầu qua giao thức HTTP/cURL tới Facebook Graph API.


Kết luận

Khóa luận tốt nghiệp của sinh viên Nguyễn Thị Thu đã nghiên cứu thành công cơ chế giao tiếp của Facebook Graph API và quy trình xác thực của Facebook Login để giải quyết bài toán tự động hóa tiếp thị mạng xã hội. Tác giả đã hoàn thiện quy trình phát triển phần mềm từ khâu khảo sát thực tế, phân tích thiết kế hệ thống theo mô hình MVC đến xây dựng cơ sở dữ liệu quan hệ 13 bảng và lập trình mã nguồn PHP/CodeIgniter hoàn chỉnh. Ứng dụng web tạo ra đáp ứng tốt các yêu cầu tự động đăng bài đa kênh, quản lý lịch xuất bản và tự động bình luận, mang lại giá trị tham khảo rõ ràng cho sinh viên công nghệ thông tin trong việc nghiên cứu tích hợp các giao diện lập trình mạng xã hội vào thực tiễn.