Ứ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

60 0 0
Ứ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

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Công nghệ thông tin UBND TỈNH QUẢNG NAM TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOA: CÔNG NGHỆ THÔNG TIN ---------- NGUYỄN THỊ THU TÊN ĐỀ TÀI: Ứ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 KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC Quảng nam, tháng 5 năm 2019 UBND TỈNH QUẢNG NAM TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOA: CÔNG NGHỆ THÔNG TIN ---------- KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC Tên đề tài: Ứ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 Sinh viên thực hiện NGUYỄN THỊ THU MSSV: 2115021046 CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN KHÓA 2015 – 2019 Cán bộ hướng dẫn TS. HUỲNH TẤN KHẢI MSCB: 1245 Quảng Nam, tháng 5 năm 2019 MỤC LỤC Phần 1: MỞ ĐẦU .................................................................................................. 1 1. Lí do chọn đề tài ............................................................................................ 1 2. Mục tiêu của đề tài......................................................................................... 1 3. Đối tượng và phạm vi nghiên cứu .................................................................. 2 4. Phương pháp nghiên cứu ............................................................................... 2 5. Đóng góp của đề tài ....................................................................................... 2 6. Cấu trúc đề tài ............................................................................................... 3 Phần 2. NỘI DUNG NGHIÊN CỨU..................................................................... 4 Chương 1. CƠ SỞ LÝ THUYẾT .......................................................................... 4 1.1. Giới thiệu về Facebook............................................................................... 4 1.1.1. Facebook là gì? ................................................................................... 4 1.1.2. Lịch sử phát triển ................................................................................. 4 1.1.3. Điểm mạnh và yếu của mạng xã hội Facebook..................................... 4 1.2. Giới thiệu về Facebook Graph API ............................................................. 5 1.2.1. Facebook Graph API là gì? ................................................................. 5 1.2.2. Facebook Graph API là việc như thế nào?........................................... 6 1.2.3. Ưu điểm và khuyết điểm trong việc sử dụng Facebook Graph API ....... 6 1.3. Giới thiệu về Facebook Login .................................................................... 7 1.4. Giới thiệu về SDK ...................................................................................... 8 1.4.1. Facebook SDK cho Javascript ............................................................. 9 1.4.2. Facebook SDK cho PHP ...................................................................... 9 1.5. Tổng quan về ngôn ngữ PHP và mô hình MVC .......................................... 9 1.5.1. Giới thiệu về ngôn ngữ PHP ................................................................ 9 1.5.2. Giới thiệu mô hình MVC .................................................................... 11 1.5.3. Giới thiệu về MySQL ......................................................................... 14 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 ........................... 17 2.1. Tìm hiểu chung về ứng dụng web tự động thực hiện các thao tác trên Facebook ............................................................................................................ 17 2.1.1. Mô tả bài toán ....................................................................................... 17 2.1.2. Phân tích ............................................................................................... 17 2.1.3. Dự trù khả năng đạt được ..................................................................... 19 2.2. Xây dựng chức năng của ứng dụng ........................................................... 19 2.2.1. Xác định Actor và vai trò của Actor trong hệ thống ........................... 19 2.2.2. Sơ đồ Usecase.................................................................................... 20 2.2.3. Đặt tả các Usecase trong hệ thống..................................................... 20 2.2.4. Biểu đồ phân rã chức năng ................................................................ 25 2.2.5. Biểu đồ trình tự .................................................................................. 26 2.2.6. Biểu đồ hoạt động .............................................................................. 31 2.2.7. Biểu đồ lớp ........................................................................................ 33 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 ....................................... 34 3.1. Cơ sở dữ liệu ............................................................................................ 34 3.2. Một số đoạn code chính của chương trình ................................................ 39 3.3. Một số giao diện của trang web ................................................................ 44 DANH MỤC CÁC TỪ VIẾT TẮT Từ viết tắt Từ viết đầy đủ Diễn giải API Application Programming Interface Là các hàm thư viện cho phép một ứng dụng có thể tương tác với một ứng dụng khác SDK Software Development Kit Là một tập hợp công cụ hỗ trợ cho việc phát triển phần mềm thông qua một nền tảng nào đó. HTTP HyperText Transfer Protocol Là giao thức truyền tải siêu văn bản được sử dụng trong www dùng để truyền tải dữ liệu giữa web server đến các trình duyệt web và ngược lại cURL client URL Là một thư viện được tạo ra bằng ngôn ngữ C, cho phép truyền dữ liệu qua giao thức HTTP urllib urllib Là một mô-đun của Python có thể dùng để mở các URL. Nó định nghĩa các hàm và lớp giúp thao tác với URL MVC Model – View – Controller Là một mô hình thiết kế theo hướng đối tượng, cho phép chia nhỏ code thành 3 phần là: Model, View, Controller PHP Viết tắt hồi quy: “PHP: Hypertext Preprocessor” Trước đó là: Personal Home Pages Là một ngôn ngữ lập trình phía máy chủ, mã nguồn mở, hoàn toàn miễn phí. DANH MỤC HÌNH ẢNH Hình 1. Mô hình MVC ................................................................................. 12 Hình 2. Biểu đồ Use case ............................................................................ 20 Hình 3. Biểu đồ phân rã chức năng............................................................... 25 Hình 4. Biểu đồ trình tự chức năng đăng nhập.............................................. 26 Hình 5. Biểu đồ trình tự cập nhật bài đăng ................................................... 27 Hình 6. Biểu đồ trình tự thêm bài đăng......................................................... 28 Hình 7. Biểu đồ trình tự cập nhật bình luận .................................................. 29 Hình 8. Biểu đồ trình tự cập nhật tài khoản người dùng ............................... 30 Hình 9. Biểu đồ hoạt động đăng nhập........................................................... 31 Hình 10. Biểu đồ hoạt động cập nhật bài đăng ............................................. 31 Hình 11. Biểu đồ hoạt động thêm lịch đăng bài ............................................ 32 Hình 12. Biểu đồ hoạt động cài đặt............................................................... 32 Hình 13. Biểu đồ lớp .................................................................................... 33 Hình 14. Bảng Post ...................................................................................... 34 Hình 15. Bảng autocomment ...................................................................... 34 Hình 16. Bảng processedfbaccount ........................................................... 34 Hình 17. Bảng comments ............................................................................. 35 Hình 18. Bảng commentlogs ...................................................................... 35 Hình 19. Bảng roles...................................................................................... 35 Hình 20. Bảng fbaccount ............................................................................ 36 Hình 21. Bảng notifications .......................................................................... 36 Hình 22. Bảng proxies .................................................................................. 36 Hình 23. Bảng schedulesposts .................................................................... 37 Hình 24. Bảng scheduleslogs...................................................................... 37 Hình 25. Bảng statics ................................................................................... 38 Hình 26. Bảng users ..................................................................................... 38 Hình 27. Biểu đồ diagram ............................................................................ 39 Hình 28. Giao diện chính của website .......................................................... 44 Hình 29. Giao diện chính của website .......................................................... 44 Hình 30. Giao diện quản lý bài đăng ............................................................ 45 Hình 31. Giao diện quản lý lịch đăng bài...................................................... 46 Hình 32. Giao diện quản lý người dùng ........................................................ 47 Hình 33. Giao diện quản lý bình luận ........................................................... 48 Hình 34. Giao diện cài đặt tài khoản............................................................. 49 LỜI CẢM ƠN Trong suốt quá trình làm khóa luận tốt nghiệp của mình, tôi luôn đươc sự quan tâm giúp đỡ tận tình đến từ thầy giáo TS. Huỳnh Tấn Khải, chính sự giúp đỡ tận tình ấy đã giúp tôi hoàn thành tốt khóa luận này. Tôi xin gửi lời cảm ơn chân thành và sâu sắc nhất đến thầy Tôi xin chân thành cảm ơn quý thầy giáo, cô giáo khoa Công nghệ thông tin, trường Đại học Quảng Nam đã tận tình dìu dắt và truyền đạt kiến thức cho tôi trong suốt 4 năm học vừa qua. Với vốn kiến thức được tiếp thu trong quá trình học không chỉ là nền tảng cho quá trình nghiên cứu khóa luận mà còn là hành trang qúy báu để tôi bước vào đời một cách vững chắc và tự tin. Xin chân thành cảm ơn gia đình, bạn bè đã là chỗ dựa vững chắc, giúp tôi tự tin hơn trong quá trình học tập. Trong quá trình làm bài khóa luận tốt nghiệp này do trình độ còn hạn hẹp, đề tài rộng, thời gian có hạn, khó tránh khỏi sai sót, kính mong quý thầy cô giáo góp ý kiến để tôi có thể học hỏi thêm nhiều kinh nghiệm. Xin chân thành cảm ơn Tam Kỳ, ngày 8 tháng 5 năm 2019 Nguyễn Thị Thu 1 Phần 1: MỞ ĐẦU 1. Lí do chọn đề tài Ngày nay, cùng với sự tăng trưởng vượt bậc của nền kinh tế thì công nghệ thông tin và mạng xã hội cũng phát triển không ngừng. Công nghệ thông tin được ứng dụng rộng rãi trong mọi mặt đời sống xã hội, từ các lĩnh vực kinh tế, chính trị, văn hóa xã hội, tạo tiền đề cho sự phát triển về mọi mặt của đất nước. Công nghệ thông tin và mạng xã hội có ý nghĩa đặc biệt đối với nền kinh tế, thúc đẩy sự phát triển mạnh mẽ của thương mại điện tử. Với tình hình phát triển như hiện nay thì bất kỳ một cơ quan, tổ chức hay cá nhân nào cũng muốn quảng bá thương hiệu của mình đến mọi người một cách nhanh chóng và hiệu quả nhất. Chính vì vậy việc áp dụng công nghệ thông tin và mạng xã hội vào hoạt động kinh doanh của mình là một trong những yêu cầu cấp bách hiện nay. Mạng xã hội Facebook là một trong những công cụ để người dùng có thể quảng bá thương hiệu một cách nhanh chóng và hiệu quả. Facebook hiện đang là mạng xã hội có người dùng cao nhất thế giới với khoảng 3,3 tỷ người dùng, Việt Nam chúng ta là một trong những nước có người dùng Facebook lớn hàng đầu thế giới với gần 60 triệu người. Vì vậy việc tận dụng các tài nguyên sẵn có trên Facebook mang đến một số thuận lợi nhất định như người dùng có thể đặt sản phẩm mình muốn mua chỉ bằng một cái kích chuột, doanh nghiệp có thể tiếp cận với khách hàng tiềm năng một cách dễ dàng thông qua các diễn đàn, hội, nhóm. Tuy nhiên cùng với đó, việc đăng bài trên các diễn đàn, hội, nhóm thường tốn nhiều thời gian của người dùng, các nội dung thường lặp đi lặp lại, thường bỏ qua các giờ vàng đăng tin vì quá bận rộn,...dẫn đến không thể tận dụng được tất cả những lợi ích và tiềm năng mà mạng xã hội đem lại cho mình. Như vậy chúng ta đòi hỏi phải có một ứng dụng để thay thế con người, tự động thực hiện các thao tác trên Facebook như: tự động đăng bài lên các diễn đàn, tự động hẹn giờ đăng,... Chính vì vậy tôi quyết định chọn đề tài: “Ứ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” làm đề tài khóa luận của mình. 2. Mục tiêu của đề tài 2 Đề tài tập trung nghiên cứu về Facebook Graph API từ đó xây dựng ứng dụng web tự động đăng bài trên Facebook thỏa mãn các điều kiện đưa ra, giúp tiết kiệm thời gian cho người sử dụng, khai thác hết những tính năng vượt trội từ mạng xã hội Facebook. 3. Đối tượng và phạm vi nghiên cứu - Đối tượng nghiên cứu: Nghiên cứu về Facebook Graph API, những ưu điểm và hạn chế của nó, tìm hiểu về SDK từ đó xây dựng ứng dụng web tự động thực hiện các thao tác trên Facebook. - Phạm vi nghiên cứu: Tìm hiểu Facebook Graph API và xây dựng ứng dụng web tự động thực hiện các thao tác trên Facebook thoải mãn các yêu cầu đặt ra. 4. Phương pháp nghiên cứu - Phương pháp nghiên cứu lý thuyết: + Nghiên cứu tài liệu, ngôn ngữ và công nghệ liên quan. + Tổng hợp các tài liệu lý thuyết về Facebook Graph API. + Thu thập thông tin, nghiên cứu thực trạng. + Tham khảo sách, báo và các nguồn tài liệu từ Internet. + Tham khảo ý kiến từ giảng viên hướng dẫn đề tài. - Phương pháp nghiên cứu thực nghiệm: + Phân tích và thiết kế ứng dụng web tự động thực hiện các thao tác trên Facebook. + Xây dựng ứng dụng web. + Thử nghiệm hệ thống và đánh giá kết quả đạt được. 5. Đóng góp của đề tài - Phần mềm giúp người sử dụng thực hiện các thao tác trên Facebook một cách nhanh chóng và hiệu quả - Cung cấp một nền tảng kiến thức về Facebook Graph API và các ứng dụng của nó trên Facebook 3 - Với đề tài này tôi mong muốn cung cấp một tài liệu tham khảo cho các bạn sinh viên trong khoa cũng như ngoài khoa khi tiếp cận và tìm hiểu về Facebook Graph API, từ đó có thể xây dựng những ứng dụng web để giúp ích cho cuộc sống của con người. 6. Cấu trúc đề tài Cấu trúc của bài khóa luận này bao gồm các phần: Lời cảm ơn, Mục lục, Phần mở đầu, Phần nội dung nghiên cứu, Phần kết luận và Phần tài liệu tham khảo. Trong đó phần Nội dung nghiên cứu sẽ gồm các nội dung chính như sau: Chương 1: Cơ sở lý thuyết. Chương này sẽ nghiên cứu trình bày các nội dung về cơ sở lý thuyết làm nền tảng cho các phần nghiên cứu tiếp theo của đề tài. Chương 2: Ứng dụng của Facebook Graph API vào việc xây dựng ứng dụng web tự động thực hiện các thao tác trên Facebook. Trong chương này chủ yếu tìm hiểu sâu sắc hơn về Facebook Graph API, sau đó phân tích và thiết kế ứng dụng web tự động thực hiện các thao tác trên Facebook. Chương 3: Xây dựng ứng dụng web tự động thực hiện các thao tác trên Facebook. Chương cuối cùng xây dựng chức năng ứng dụng web tự động thực hiện các thao tác trên Facebook đồng thời giới thiệu một số giao diện chính của chương trình. 4 Phần 2. NỘI DUNG NGHIÊN CỨU Chương 1. CƠ SỞ LÝ THUYẾT 1.1. Giới thiệu về Facebook 1.1.1. Facebook là gì? Facebook là một website mạng xã hội phổ biến và hoàn toàn miễn phí do công ty Facebok Inc điều hành và quản lý tư nhân. Người dùng có thể tham gia các mạng lưới được tổ chức theo thành phố, nơi làm việc, trường học và khu vực để liên kết và giao tiếp với người khác. Mọi người cũng có thể kết bạn và gửi tin nhắn cho nhau và cập nhật trang cá nhân của bản thân để thông báo cho bạn bè biết về chúng, tên của website nhắm tới những cuốn sổ lưu niệm dùng để lưu tên những thành viên trong cộng đồng campus của một số trường đại học tại Mỹ. 1.1.2. Lịch sử phát triển Facebook mở đầu là một phiên bản Hot or Not của đại học Harvard với tên gọi Facemash. Mark Elliot Zuckerberg khi đang học năm thứ hai tại Harvard đã dựng nên Facemash vào ngày 28 tháng 10 năm 2003. Ngày 4 tháng 2 năm 2004, Zuckerberg thành lập “The Facebook”. Tên Facebook lấy ý tưởng từ những cuốn sổ có hình khuôn mặt của các sinh viên. Việc đăng ký thành viên ban đầu giới hạn chỉ là sinh viên của Harvard, trong một tháng đầu tiên, một nửa sinh viên đã đăng ký dịch vụ này. Sau đó nhanh chóng lang ra hết các trường đại học tại Mỹ. Facebook đã bỏ chữ “The” ra khỏi tên vào năm 2005. Tháng 52005, Facebook gây quỹ đầu tư được 13,7 triệu USD. Năm 2006, tính năng News Feed được tung ra, cho phép người dùng theo dõi hoạt động của nhau theo thời gian thực. Cuối năm 2010, Facebook có đến 1 tỷ lượt truy cập mỗi tháng. Năm 2014, tròn 10 năm Facebook ra đời, mạng xã hội có đến 1,23 tỷ lượt truy cập mỗi tháng, một tỷ trong số đó đến từ thiết bị di động. Để đáp ứng lượng người dùng khổng lồ, Facebook phải nâng cấp cơ sở hạ tầng và nhân lực. Trong năm 2016, công ty đã mở rộng thêm khuôn viên cho 2.800 nhân viên. Đến năm 2018 dù xảy ra một số sự cố về bảo mật thông tin khách hàng, tuy nhiên Facebook vẫn là một trong những trang mạng có ảnh hưởng nhất thế giới. 1.1.3. Điểm mạnh và yếu của mạng xã hội Facebook 5 - Ưu điểm + Là mạng xã hội phổ biến nhất hiện nay. + Có tính kết nối cao, chia sẻ cập nhật thông tin hằng ngày mà vẫn bảo mật được quyền riêng tư. + Ứng dụng được thiết kế khoa học, đẹp mắt, thao tác nhanh gọn, dễ dàng sử dụng, có nhiều phiên bản, hỗ trợ nhiều ngôn ngữ. + Có tích hợp nhiều ứng dụng như Game, Messenger,... mang lại tiện ích tối đa cho người sử dụng. + Không ngừng cải tiến, nâng cao chất lượng phục vụ. + Kết nối cộng đồng người sử dụng trên toàn thế giới. + Tính năng viết blog cho phép soạn thảo dễ dàng, nhanh gọn. - Nhược điểm + Người dùng không tùy chỉnh được giao diện trang web để có trang cho riêng mình. + Quản lí thông tin chưa thật sự chặc chẽ, chưa kiểm soát được nguồn tin, còn tồn tại nhiều tin rác, tin sai sự thật. + Tạo ra nguồn dữ liệu lớn, khó quản lý nên thường bị thất thoát thông tin. 1.2. Giới thiệu về Facebook Graph API 1.2.1. Facebook Graph API là gì? Facebook Graph API là giải pháp để các ứng dụng có thể đọc và ghi vào đồ thị xã hội của Facebook. Tất cả các SDK và các sản phẩm có thể tác động tới Graph API theo một cách nào đó và các API khác là các tiện ích mở rộng của Graph API. Graph API đặt tên theo ý tưởng của một “đồ thị xã hội”. Đại diện của các thông tin trên Facebook bao gồm: - Nodes: Về cơ bản là các đối tượng riêng lẻ, chẳng hạn như: người sử dụng, hình ảnh, trang, bình luận. - Edges: là kết nối giữa các bộ sưu tập, các đối tượng và một đối tượng duy nhất ví dụ như ảnh trên một trang hoặc bình luận trên tấm ảnh. 6 - Field: là các dữ liệu về một đối tượng chẳng hạn như ngày sinh của một người nào đó, tấm ảnh trên một trang. Thông thường, chúng ta sử dụng các nodes để lấy dữ liệu cụ thể về một đối tượng, sử dụng các edges để thu thập các mục đích của đối tượng, sử dụng các field để lấy dữ liệu trên một đối tượng hoặc của mỗi một đối tượng trên trang. 1.2.2. Facebook Graph API là việc như thế nào? Graph API hoạt động dựa trên HTTP, vì vậy nó có thể làm việc với bất kỳ ngôn ngữ nào có thư viện HTTP chẳng hạn như cURL và urllib. Chúng ta có thể sử dụng trực tiếp Graph API trên trình duyệt của mình. Graph API là giải pháp cơ bản để lấy ra và đưa dữ liệu vào các thư viện của Facebook. Đó là một API HTTP-based cấp thấp có thể sử dụng để đăng các bức ảnh và hàng loạt các thao tác khác mà một ứng dụng cần phải có. Open Graph của Facebook cho phép định nghĩa các đối tượng và hành động mới trong mạng xã hội của những người sử dụng ứng dụng, cho phép tạo các đối tượng mới của những action và object đó thông qua Graph API. Graph API cũng là một phương tiện được sử dụng bởi iOS, Android, PHP và JavaScript SDK của Facebook. Nó được sử dụng bởi nhiều bộ công cụ của bên thứ ba với nhiều ngôn ngữ khác. 1.2.3. Ưu điểm và khuyết điểm trong việc sử dụng Facebook Graph API - Ưu điểm + Giúp thao tác nhanh, tiết kiệm thời gian + Dễ dàng phát triển + Cài đặt nhanh chóng, dễ dàng sử dụng - Nhược điểm + Facebook có SDK Javascript riêng để tương tác với chính Graph API, tuy nhiên chỉ cho Javascript phía client. Không có SDK Node.js + Mặc dù có một số package cho phép làm việc với Graph API của Facebook, tuy nhiên chúng vẫn chưa đủ hoàn thiện như các API cho các nền tảng mạng xã hội khác như Twit cho Twiter API. 7 + Các ứng dụng Graph API thường lấy dữ liệu của người dùng, vì vậy việc thất thoát dữ liệu rất cần được quan tâm. 1.3. Giới thiệu về Facebook Login Facebook Login rất nhanh là tiện lợi, mọi người có thể tạo tài khoản và đăng nhập vào trong ứng dụng trên nhiều nền tảng khác nhau. Chúng ta có thể dùng trên IOS, Android, Web, Windows Phone,.vv.. Facebook Login cho phép 2 kịch bản, xác thực và yêu cầu quyền truy cập dữ liệu của mọi người. Chúng ta có thể chỉ sử dụng Facebook Login chỉ để xác thực hoặc cho cả xác thực và truy cập dữ liệu. - Facebook Login được sử dụng các trường hợp sau + Tạo tài khoản Facebook Login cho phép mọi người có thể tạo tài khoản trong ứng dụng một cách dễ dàng và nhanh chóng mà không cần phải đặt mật khẩu. Khi đã tạo tài khoản trên một nền tảng nào đó, chúng ta có thể đăng nhập bằng một cái nhấp chuột duy nhất, đem lại sự thuận tiện tối đa cho người sử dụng. + Cá nhân hóa Facebook Login cho phép người dùng có thể truy cập các thông tin phức tạp thông qua nội dung đã đăng ký trước như: tên người dùng, mật khẩu,.vv. + Xã hội Ứng dụng cho phép người dùng có thể kết nối bạn bè của họ với nhau, cho phép họ có thể trải nghiệm trong ứng dụng được chia sẻ. - Tính năng, đặc điểm của Facebook Login + Đăng nhập nền tảng chéo Facebook Login có sẵn trên các nền tảng ứng dụng dành cho thiết bị di động và máy tính để bàn phổ biến nhất. Những người tạo tài khoản với Facebook trên một nền tảng có thể nhanh chóng và dễ dàng đăng nhập vào ứng dụng trên một nền tảng khác. Một người cấp một User ID, họ có thể trải nghiệm các tính năng của ứng dụng của chúng ta ở tất cả mọi nơi mà họ đến. Facebook Login có sẵn trên các hệ điều hành như Android, Web và Windows Phone cho các ứng dụng dành cho máy tính để bàn và cho các thiết bị như Smart TV và Internet of Things. 8 + Quyền chi tiết Facebook Login hỗ trợ các quyền hạn xác định thông tin mọi người chọn chia sẻ với ứng dụng của chúng ta. Điều này có nghĩa là chúng ta có quyền kiểm soát chính xác những gì chúng ta yêu cầu và mọi người có quyền kiểm soát những gì họ chọn để phê duyệt. + Mọi người có quyền kiểm soát đối với những gì họ chia sẻ Với Facebook Login mọi người có thể chọn thông tin họ chia sẻ với ứng dụng của chúng ta. Họ có thể nhận được lợi ích khi đăng nhập bằng Facebook mặc dù điều đó làm người dùng không thoải mái khi phải cung cấp một số thông tin nhất định. + Nhận dạng thực Khi mọi người chọn đăng nhập bằng Facebook, họ có thể chia sẻ danh tính thực của mình thông qua trang cá nhân công khai của họ. Trang cá nhân công khai bao gồm tên thực, ảnh đại diện của một người. Các ứng dụng dựa trên danh tính thực thường có ít spam hơn và tạo điều kiện thuận lợi cho các cuộc trò chuyện có chất lượng cao hơn. + Hoạt động cùng với hệ thống tài khoản có sẵn Đăng nhập Facebook bổ sung cho hệ thống tài khoản có sẵn của người dùng. Mang lại cho mọi người tùy chọn đăng nhập bằng Facebook cùng với email, tin nhắn hoặc các lựa chọn đăng nhập xã hội khác. Nếu địa chỉ email nhận được từ tính năng đăng nhập Facebook khớp với địa chỉ đã có trong hệ thống, chúng ta có thể đăng nhập người đó vào tài khoản hiện có của họ mà không cần phải thêm mật khẩu. + Ủy quyền từng bước Facebook Login hỗ trợ ủy quyền từng bước, chúng ta không cần phải yêu cầu trước tất cả những gì mình muốn mà có thể yêu cầu theo thời gian. Điều này có nghĩa là mọi người có thể tạo tài khoản trong ứng dụng của mình một cách nhanh chóng và dễ dàng, và khi trải nghiệm của họ với ứng dụng nhiều hơn, chúng ta có thể yêu cầu thêm thông tin để nâng cao trải nghiệm. 1.4. Giới thiệu về SDK 9 1.4.1. Facebook SDK cho Javascript SDK Javascript là một nhóm gồm nhiều chức năng phía máy khách để thêm lệnh gọi Social Plugins, Facebook Login và Graph API, ... Facebook SDK cho Javascript cung cấp một cách phong phú các chức năng phía máy khách như: - Cho phép sử dụng các nút thích và các thư viện của Facebook trên trang web. - Cho phép sử dụng tính năng Facebook Login để đăng nhập hoặc đăng ký thành viên trên trang web. - Giúp dễ dàng gọi vào Graph API của Facebook. - Khởi chạy hộp thoại cho phép mọi người có thể thực hiện các hành động khác nhau như chia sẻ tin. - Hỗ trợ hoạt động giao tiếp khi chúng ta phát triển ứng dụng. Facebook SDK cho JavaScript không có bất kỳ tệp độc lập nào cần được tải xuống hoặc cài đặt, thay vào đó chỉ cần đưa một đoạn JavaScript thông thường vào HTML sẽ tải SDK không đồng bộ vào các trang. 1.4.2. Facebook SDK cho PHP Facebook SDK cho PHP là một thư viện với các tính năng mạnh mẽ cho phép các nhà phát triển PHP dễ dàng tích hợp đăng nhập Facebook và đưa ra các yêu cầu tới Graph API. Giúp dễ dàng để tải lên hình ảnh, video và gửi yêu cầu hàng loạt đến Graph API. SDK cho PHP có nhiều điểm mở rộng giúp các nhà phát triển PHP có toàn quyền kiểm soát cách SDK dành cho PHP tương tác với môi trường lưu trữ và khung web cụ thể của họ. 1.5. Tổng quan về ngôn ngữ PHP và mô hình MVC 1.5.1. Giới thiệu về ngôn ngữ PHP PHP (viết tắt hồi quy “PHP: Hypertext Preprocessor”) là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát. Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML. Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và rút ngắn thời gian xây dựng sản phẩm. 10 Để sử dụng mã PHP vào việc lập trình web, chúng ta phải đặt mã PHP vào cặp thẻ thì chương trình mới hiểu và biên dịch mã đúng. Đây là một điểm khá tiện lợi của PHP giúp cho việc viết mã PHP trở nên khá trực quan và dễ dàng trong việc xây dựng phần giao diện. Ngôn ngữ lập trình PHP là một loại ngôn ngữ đặc biệt được thiết kế để giúp các lập trình viên có thể dễ dàng tạo ra các trang website. Ngôn ngữ lập trình PHP bao gồm các quy tắc mà các lập trình viên cần tuân theo khi viết các mã lệnh: - Mã lệnh của chương trình cần được đặt trong cặp thẻ . - Sử dụng dấu chấm phẩy “;” để kết thúc một câu lệnh. - Văn bản cần được đặt trong cặp dấu nháy đơn '''' '''' hoặc cặp dấu nháy kép " " Tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới. Ví dụ đoạn code php: Đây là đoạn code php - Đặc điểm ngôn ngữ PHP + Mã nguồn mở + Chạy trên hệ thống máy chủ (Server) + Rất đơn giản + Tốc độ xử lí nhanh, dễ sử dụng + Luôn được cải tiến và cập nhật + Có nhiều hướng dẫn sử dụng trên mạng + Hoàn toàn miễn phí + Có thể thực thi trên bất cứ hệ điều hành nào 11 + Không chỉ làm việc với html mà còn làm việc được với hình ảnh, PDF, Flash movie,... + Có thể dễ dàng kết nối với các cơ sở dũ liệu như: mySQL, mSQL, FrontBase, dBase, Solid, ODBC, Oracle, FilePro,... + Được sử dụng để xây dựng các framework lớn như: Joomla, Drupal, Zend,... + Có nhiều editor hỗ trợ: PHPDesigner, DreamWeaver,... 1.5.2. Giới thiệu mô hình MVC Mô hình MVC là mô hình được sử dụng rộng rãi nhất trong việc phát triển ứng dụng web. Được đưa ra bởi các nhà nghiên cứu tại phòng thí nghiệm Xerox PARC Palo Alto, dựa trên ngôn ngữ lập trình Smalltalk, công bố vào cuối những năm 1970. Kiến trúc này ngày càng được phát triển và hoàn thiện nhằm giải quyết các vấn đề phát sinh cũng như các giải pháp cho quá trình phát triển phần mềm. Vì vậy, lần lượt các MVC framework ra đời, trong lĩnh vực phát triển Web với ngôn ngữ PHP, chúng ta có các framework như Laravel, CodeIgniter, Zend, … MVC (Model – View – Controller) là một mô hình thiết kế theo hướng đối tượng, cho phép lập trình viên có thể chia nhỏ code của mình ra thành 3 phần là: Model, View và Controller. - Model: làm việc với dữ liệu và thực hiện các xử lý nghiệp vụ. - View: hiển thị dữ liệu và các thành phần trong giao diện người dùng. - Controller: điều khiển các sự kiện của người dùng có ảnh hướng đến Model và View 12 Hình 1: Mô hình MVC - Ưu điểm của mô hình MVC: + Phát triển phần mềm: chuyên nghiệp hóa, có thể chia công việc cho nhiều nhóm chuyên môn khác nhau: nhóm thiết kế, nhóm lập trình, nhóm tổ chức CSDL, … Giúp phát triển ứng dụng nhanh, đơn giản, dễ nâng cấp. + Bảo trì: Với các lớp được phân chia, các thành phần của hệ thống dễ được thay đổi, nhưng sự thay đổi có thể được cô lập trong từng lớp, hoặc chỉ ảnh hưởng đến lớp ngay gần kề của nó mà không ảnh hưởng đến cả chương trình. + Mở rộng: Việc thêm chức năng vào cho từng lớp sẽ dễ dàng và thuận tiện hơn cho người sử dụng. - Nhược điểm: + Thích hợp với dự án vừa và lớn, còn đối với dự án nhỏ thì việc áp dụng mô hình MVC sẽ gây cồng kềnh, tốn thời gian phân chia. + Tốn thời gian trung chuyển dữ liệu giữa các lớp - Lý do nên làm việc theo mô hình MVC: + Vì mô hình MVC chia ứng dụng thành 3 lớp là View, Controller, Model nên có thể ra nhiều view và nhiều controller cho các model mà không phải 13 đối mặt với việc thay đổi trong thiết kế Model nên giúp việc duy trì, di chuyển và tổ chức ứng dụng dễ dàng hơn. + Cho phép sửa đổi mà không ảnh hưởng nhiều đến các thành phần khác. + Cho phép làm việc nhóm trở nên dễ dàng hơn vì nhóm nào chỉ lo phần việc của nhóm đó - Xây dựng Model: + Thường thì chúng ta nên xây dựng Model trước bởi vì Model phục vụ như là nền tảng dữ liệu cho toàn bộ ứng dụng web. + Nhiều chức năng của Controller phụ thuộc vào Model. + Trong Model sẽ có các phương thức xử lý liên quan đến dữ liệu: xử lý trực tiếp hoặc lấy dữ liệu từ CSDL. Ví dụ về Model - Xây dựng View + Xây dựng View là bước đơn giản nhất trong quá trình xây dựng ứng dụng theo mô hình MVC. + Mỗi View là một kết quả hiển thị theo yêu cầu 14 Ví dụ về View Title Author - Xây dựng Controller: + Controller được xem là cơ bắp của ứng dụng. + Mọi thứ mà người dùng có thể thực hiện trên trang web đều được thể hiện trong Controller. + Điều khiển các sự kiện của người dùng có ảnh hưởng đến Model và View Ví dụ về controller class BookController { public model; public function constructor(){ this->model = new BookModel();} public function invoke(){ if(isset(GET“book”)){ khi người dùng chưa chọn sách thì hiển thị danh mục sách model->getBookList(); include “viewbooklist.php”; }else{ book = this->model->getBook(GET„nook‟); include “viewviewbook.php”; } } } 1.5.3. Giới thiệu về MySQL MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh. Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập 15 CSDL trên internet. MySQL miễn phí hoàn toàn cho nên chúng ta có thể tải về MySQL từ trang chủ. Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux,..v.v. MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác, nó làm nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl. - MySql có những đặc điểm nổi bật sau: + Tốc độ: MySQL rất nhanh. Những nhà phát triển cho rằng MySQL là cơ sở dữ liệu nhanh nhất mà chúng ta có thể có. + Dễ sử dụng: MySQL tuy có tính năng cao nhưng thực sự là một hệ thống cơ sở dữ liệu rất đơn giản và ít phức tạp khi cài đặt và quản trị hơn các hệ thống lớn. + Giá thành: MySQL là miễn phí cho hầu hết các việc sử dụng trong một tổ chức. + Hỗ trợ ngôn ngữ truy vấn: MySQL hiểu SQL, là ngôn ngữ của sự chọn lựa cho tất cả các hệ thống cơ sở dữ liệu hiện đại. Chúng ta cũng có thể truy cập MySQL bằng cách sử dụng các ứng dụng mà hỗ trợ ODBC (Open Database Connectivity -một giao thức giao tiếp cơ sở dữ liệu được phát triển bởi Microsoft). + Năng lực: Nhiều client có thể truy cập đến server trong cùng một thời gian. Các client có thể sử dụng nhiều cơ sở dữ liệu một cách đồng thời. Chúng ta có thể truy cập MySQL tương tác với sử dụng một vài giao diện để chúng ta có thể đưa vào các truy vấn và xem các kết quả: các dòng yêu cầu của khách hàng, các trình duyệt Web… + Kết nối và bảo mật: MySQL được nối mạng một cách đầy đủ, các cơ sở dữ liệu có thể được truy cập từ bất kỳ nơi nào trên Internet do đó chúng ta có thể chia sẻ dữ liệu của mình với bất kỳ ai, bất kỳ nơi nào. Nhưng MySQL kiểm soát quyền truy cập cho nên người mà không nên nhìn thấy dữ liệu của chúng ta thì không thể nhìn được. 16 + Tính linh động: MySQL chạy trên nhiều hệ thống UNIX cũng như không p...

Trang 1

UBND TỈNH QUẢNG NAM TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOA: CÔNG NGHỆ THÔNG TIN

- -

NGUYỄN THỊ THU

TÊN ĐỀ TÀI:

Ứ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

KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC

Quảng nam, tháng 5 năm 2019

Trang 2

UBND TỈNH QUẢNG NAM TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOA: CÔNG NGHỆ THÔNG TIN

- -

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC

Tên đề tài:

Ứ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

Trang 3

MỤC LỤC

Phần 1: MỞ ĐẦU 1

1 Lí do chọn đề tài 1

2 Mục tiêu của đề tài 1

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

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

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

6 Cấu trúc đề tài 3

Phần 2 NỘI DUNG NGHIÊN CỨU 4

Chương 1 CƠ SỞ LÝ THUYẾT 4

1.1 Giới thiệu về Facebook 4

1.1.1 Facebook là gì? 4

1.1.2 Lịch sử phát triển 4

1.1.3 Điểm mạnh và yếu của mạng xã hội Facebook 4

1.2 Giới thiệu về Facebook Graph API 5

1.2.1 Facebook Graph API là gì? 5

1.2.2 Facebook Graph API là việc như thế nào? 6

1.2.3 Ưu điểm và khuyết điểm trong việc sử dụng Facebook Graph API 6

1.3 Giới thiệu về Facebook Login 7

1.4 Giới thiệu về SDK 8

1.4.1 Facebook SDK cho Javascript 9

1.4.2 Facebook SDK cho PHP 9

1.5 Tổng quan về ngôn ngữ PHP và mô hình MVC 9

1.5.1 Giới thiệu về ngôn ngữ PHP 9

1.5.2 Giới thiệu mô hình MVC 11

1.5.3 Giới thiệu về MySQL 14

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 17

2.1 Tìm hiểu chung về ứng dụng web tự động thực hiện các thao tác trên Facebook 17

2.1.1 Mô tả bài toán 17

2.1.2 Phân tích 17

2.1.3 Dự trù khả năng đạt được 19

Trang 4

2.2 Xây dựng chức năng của ứng dụng 19

2.2.1 Xác định Actor và vai trò của Actor trong hệ thống 19

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 34

3.1 Cơ sở dữ liệu 34

3.2 Một số đoạn code chính của chương trình 39

3.3 Một số giao diện của trang web 44

Trang 5

DANH MỤC CÁC TỪ VIẾT TẮT

API Application Programming Interface Là các hàm thư viện cho phép một ứng dụng có thể tương tác với một ứng dụng khác

SDK Software Development Kit Là một tập hợp công cụ hỗ trợ cho việc phát triển phần mềm thông qua một nền tảng nào đó HTTP HyperText Transfer Protocol Là giao thức truyền tải siêu văn bản được sử dụng trong www dùng để truyền tải dữ liệu giữa web server đến các trình duyệt web và ngược lại thao tác với URL

MVC Model – View – Controller Là một mô hình thiết kế theo hướng đối tượng, cho phép chia nhỏ code thành 3 phần là: Model, View, Controller

PHP Viết tắt hồi quy: “PHP: Hypertext

Trang 6

DANH MỤC HÌNH ẢNH

Hình 1 Mô hình MVC 12

Hình 2 Biểu đồ Use case 20

Hình 3 Biểu đồ phân rã chức năng 25

Hình 4 Biểu đồ trình tự chức năng đăng nhập 26

Hình 5 Biểu đồ trình tự cập nhật bài đăng 27

Hình 6 Biểu đồ trình tự thêm bài đăng 28

Hình 7 Biểu đồ trình tự cập nhật bình luận 29

Hình 8 Biểu đồ trình tự cập nhật tài khoản người dùng 30

Hình 9 Biểu đồ hoạt động đăng nhập 31

Hình 10 Biểu đồ hoạt động cập nhật bài đăng 31

Hình 11 Biểu đồ hoạt động thêm lịch đăng bài 32

Hình 12 Biểu đồ hoạt động cài đặt 32

Trang 7

Hình 25 Bảng statics 38

Hình 26 Bảng users 38

Hình 27 Biểu đồ diagram 39

Hình 28 Giao diện chính của website 44

Hình 29 Giao diện chính của website 44

Hình 30 Giao diện quản lý bài đăng 45

Hình 31 Giao diện quản lý lịch đăng bài 46

Hình 32 Giao diện quản lý người dùng 47

Hình 33 Giao diện quản lý bình luận 48

Hình 34 Giao diện cài đặt tài khoản 49

Trang 8

LỜI CẢM ƠN

Trong suốt quá trình làm khóa luận tốt nghiệp của mình, tôi luôn đươc sự quan tâm giúp đỡ tận tình đến từ thầy giáo TS Huỳnh Tấn Khải, chính sự giúp đỡ tận tình ấy đã giúp tôi hoàn thành tốt khóa luận này Tôi xin gửi lời cảm ơn chân thành và sâu sắc nhất đến thầy!

Tôi xin chân thành cảm ơn quý thầy giáo, cô giáo khoa Công nghệ thông tin, trường Đại học Quảng Nam đã tận tình dìu dắt và truyền đạt kiến thức cho tôi trong suốt 4 năm học vừa qua Với vốn kiến thức được tiếp thu trong quá trình học không chỉ là nền tảng cho quá trình nghiên cứu khóa luận mà còn là hành trang qúy báu để tôi bước vào đời một cách vững chắc và tự tin

Xin chân thành cảm ơn gia đình, bạn bè đã là chỗ dựa vững chắc, giúp tôi tự tin hơn trong quá trình học tập

Trong quá trình làm bài khóa luận tốt nghiệp này do trình độ còn hạn hẹp, đề tài rộng, thời gian có hạn, khó tránh khỏi sai sót, kính mong quý thầy cô giáo góp ý kiến để tôi có thể học hỏi thêm nhiều kinh nghiệm

Xin chân thành cảm ơn!

Tam Kỳ, ngày 8 tháng 5 năm 2019 Nguyễn Thị Thu

Trang 9

Phần 1: MỞ ĐẦU

1 Lí do chọn đề tài

Ngày nay, cùng với sự tăng trưởng vượt bậc của nền kinh tế thì công nghệ thông tin và mạng xã hội cũng phát triển không ngừng Công nghệ thông tin được ứng dụng rộng rãi trong mọi mặt đời sống xã hội, từ các lĩnh vực kinh tế, chính trị, văn hóa xã hội, tạo tiền đề cho sự phát triển về mọi mặt của đất nước Công nghệ thông tin và mạng xã hội có ý nghĩa đặc biệt đối với nền kinh tế, thúc đẩy sự phát triển mạnh mẽ của thương mại điện tử

Với tình hình phát triển như hiện nay thì bất kỳ một cơ quan, tổ chức hay cá nhân nào cũng muốn quảng bá thương hiệu của mình đến mọi người một cách nhanh chóng và hiệu quả nhất Chính vì vậy việc áp dụng công nghệ thông tin và mạng xã hội vào hoạt động kinh doanh của mình là một trong những yêu cầu cấp bách hiện nay

Mạng xã hội Facebook là một trong những công cụ để người dùng có thể quảng bá thương hiệu một cách nhanh chóng và hiệu quả Facebook hiện đang là mạng xã hội có người dùng cao nhất thế giới với khoảng 3,3 tỷ người dùng, Việt Nam chúng ta là một trong những nước có người dùng Facebook lớn hàng đầu thế giới với gần 60 triệu người Vì vậy việc tận dụng các tài nguyên sẵn có trên Facebook mang đến một số thuận lợi nhất định như người dùng có thể đặt sản phẩm mình muốn mua chỉ bằng một cái kích chuột, doanh nghiệp có thể tiếp cận với khách hàng tiềm năng một cách dễ dàng thông qua các diễn đàn, hội, nhóm Tuy nhiên cùng với đó, việc đăng bài trên các diễn đàn, hội, nhóm thường tốn nhiều thời gian của người dùng, các nội dung thường lặp đi lặp lại, thường bỏ qua các giờ vàng đăng tin vì quá bận rộn, dẫn đến không thể tận dụng được tất cả những lợi ích và tiềm năng mà mạng xã hội đem lại cho mình Như vậy chúng ta đòi hỏi phải có một ứng dụng để thay thế con người, tự động thực hiện các thao tác trên Facebook như: tự động đăng bài lên các diễn đàn, tự động hẹn giờ đăng, Chính vì vậy tôi quyết định chọn đề tài: “Ứ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” làm đề tài khóa luận của mình

2 Mục tiêu của đề tài

Trang 10

Đề tài tập trung nghiên cứu về Facebook Graph API từ đó xây dựng ứng dụng web tự động đăng bài trên Facebook thỏa mãn các điều kiện đưa ra, giúp tiết kiệm thời gian cho người sử dụng, khai thác hết những tính năng vượt trội từ mạng xã hội Facebook

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

- Đối tượng nghiên cứu: Nghiên cứu về Facebook Graph API, những ưu điểm và hạn chế của nó, tìm hiểu về SDK từ đó xây dựng ứng dụng web tự động thực hiện các thao tác trên Facebook

- Phạm vi nghiên cứu: Tìm hiểu Facebook Graph API và xây dựng ứng dụng web tự động thực hiện các thao tác trên Facebook thoải mãn các yêu cầu đặt ra

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

- Phương pháp nghiên cứu lý thuyết:

+ Nghiên cứu tài liệu, ngôn ngữ và công nghệ liên quan + Tổng hợp các tài liệu lý thuyết về Facebook Graph API + Thu thập thông tin, nghiên cứu thực trạng

+ Tham khảo sách, báo và các nguồn tài liệu từ Internet + Tham khảo ý kiến từ giảng viên hướng dẫn đề tài - Phương pháp nghiên cứu thực nghiệm:

+ Phân tích và thiết kế ứng dụng web tự động thực hiện các thao tác trên Facebook

+ Xây dựng ứng dụng web

+ Thử nghiệm hệ thống và đánh giá kết quả đạt được 5 Đóng góp của đề tài

- Phần mềm giúp người sử dụng thực hiện các thao tác trên Facebook một cách nhanh chóng và hiệu quả

- Cung cấp một nền tảng kiến thức về Facebook Graph API và các ứng dụng của nó trên Facebook

Trang 11

- Với đề tài này tôi mong muốn cung cấp một tài liệu tham khảo cho các bạn sinh viên trong khoa cũng như ngoài khoa khi tiếp cận và tìm hiểu về Facebook Graph API, từ đó có thể xây dựng những ứng dụng web để giúp ích cho cuộc sống của con người

6 Cấu trúc đề tài

Cấu trúc của bài khóa luận này bao gồm các phần: Lời cảm ơn, Mục lục, Phần mở đầu, Phần nội dung nghiên cứu, Phần kết luận và Phần tài liệu tham khảo Trong đó phần Nội dung nghiên cứu sẽ gồm các nội dung chính như sau:

Chương 1: Cơ sở lý thuyết Chương này sẽ nghiên cứu trình bày các nội dung về cơ sở lý thuyết làm nền tảng cho các phần nghiên cứu tiếp theo của đề tài

Chương 2: Ứng dụng của Facebook Graph API vào việc xây dựng ứng dụng web tự động thực hiện các thao tác trên Facebook Trong chương này chủ yếu tìm hiểu sâu sắc hơn về Facebook Graph API, sau đó phân tích và thiết kế ứng dụng web tự động thực hiện các thao tác trên Facebook

Chương 3: Xây dựng ứng dụng web tự động thực hiện các thao tác trên Facebook Chương cuối cùng xây dựng chức năng ứng dụng web tự động thực hiện các thao tác trên Facebook đồng thời giới thiệu một số giao diện chính của chương trình

Trang 12

Phần 2 NỘI DUNG NGHIÊN CỨU Chương 1 CƠ SỞ LÝ THUYẾT

1.1 Giới thiệu về Facebook

1.1.1 Facebook là gì?

Facebook là một website mạng xã hội phổ biến và hoàn toàn miễn phí do công ty Facebok Inc điều hành và quản lý tư nhân Người dùng có thể tham gia các mạng lưới được tổ chức theo thành phố, nơi làm việc, trường học và khu vực để liên kết và giao tiếp với người khác Mọi người cũng có thể kết bạn và gửi tin nhắn cho nhau và cập nhật trang cá nhân của bản thân để thông báo cho bạn bè biết về chúng, tên của website nhắm tới những cuốn sổ lưu niệm dùng để lưu tên những thành viên trong cộng đồng campus của một số trường đại học tại Mỹ

1.1.2 Lịch sử phát triển

Facebook mở đầu là một phiên bản Hot or Not của đại học Harvard với tên gọi Facemash Mark Elliot Zuckerberg khi đang học năm thứ hai tại Harvard đã dựng nên Facemash vào ngày 28 tháng 10 năm 2003 Ngày 4 tháng 2 năm 2004, Zuckerberg thành lập “The Facebook” Tên Facebook lấy ý tưởng từ những cuốn sổ có hình khuôn mặt của các sinh viên Việc đăng ký thành viên ban đầu giới hạn chỉ là sinh viên của Harvard, trong một tháng đầu tiên, một nửa sinh viên đã đăng ký dịch vụ này Sau đó nhanh chóng lang ra hết các trường đại học tại Mỹ Facebook đã bỏ chữ “The” ra khỏi tên vào năm 2005 Tháng 5/2005, Facebook gây quỹ đầu tư được 13,7 triệu USD Năm 2006, tính năng News Feed được tung ra, cho phép người dùng theo dõi hoạt động của nhau theo thời gian thực Cuối năm 2010, Facebook có đến 1 tỷ lượt truy cập mỗi tháng Năm 2014, tròn 10 năm Facebook ra đời, mạng xã hội có đến 1,23 tỷ lượt truy cập mỗi tháng, một tỷ trong số đó đến từ thiết bị di động Để đáp ứng lượng người dùng khổng lồ, Facebook phải nâng cấp cơ sở hạ tầng và nhân lực Trong năm 2016, công ty đã mở rộng thêm khuôn viên cho 2.800 nhân viên Đến năm 2018 dù xảy ra một số sự cố về bảo mật thông tin khách hàng, tuy nhiên Facebook vẫn là một trong những trang mạng có ảnh hưởng nhất thế giới

1.1.3 Điểm mạnh và yếu của mạng xã hội Facebook

Trang 13

- Ưu điểm

+ Là mạng xã hội phổ biến nhất hiện nay

+ Có tính kết nối cao, chia sẻ cập nhật thông tin hằng ngày mà vẫn bảo mật được quyền riêng tư

+ Ứng dụng được thiết kế khoa học, đẹp mắt, thao tác nhanh gọn, dễ dàng sử dụng, có nhiều phiên bản, hỗ trợ nhiều ngôn ngữ

+ Có tích hợp nhiều ứng dụng như Game, Messenger, mang lại tiện ích tối đa cho người sử dụng

+ Không ngừng cải tiến, nâng cao chất lượng phục vụ + Kết nối cộng đồng người sử dụng trên toàn thế giới

+ Tính năng viết blog cho phép soạn thảo dễ dàng, nhanh gọn - Nhược điểm

+ Người dùng không tùy chỉnh được giao diện trang web để có trang cho riêng mình

+ Quản lí thông tin chưa thật sự chặc chẽ, chưa kiểm soát được nguồn tin, còn tồn tại nhiều tin rác, tin sai sự thật

+ Tạo ra nguồn dữ liệu lớn, khó quản lý nên thường bị thất thoát thông tin 1.2 Giới thiệu về Facebook Graph API

1.2.1 Facebook Graph API là gì?

Facebook Graph API là giải pháp để các ứng dụng có thể đọc và ghi vào đồ thị xã hội của Facebook Tất cả các SDK và các sản phẩm có thể tác động tới Graph API theo một cách nào đó và các API khác là các tiện ích mở rộng của Graph API

Graph API đặt tên theo ý tưởng của một “đồ thị xã hội” Đại diện của các thông tin trên Facebook bao gồm:

- Nodes: Về cơ bản là các đối tượng riêng lẻ, chẳng hạn như: người sử dụng, hình ảnh, trang, bình luận

- Edges: là kết nối giữa các bộ sưu tập, các đối tượng và một đối tượng duy nhất ví dụ như ảnh trên một trang hoặc bình luận trên tấm ảnh

Trang 14

- Field: là các dữ liệu về một đối tượng chẳng hạn như ngày sinh của một người nào đó, tấm ảnh trên một trang

Thông thường, chúng ta sử dụng các nodes để lấy dữ liệu cụ thể về một đối tượng, sử dụng các edges để thu thập các mục đích của đối tượng, sử dụng các field để lấy dữ liệu trên một đối tượng hoặc của mỗi một đối tượng trên trang

1.2.2 Facebook Graph API là việc như thế nào?

Graph API hoạt động dựa trên HTTP, vì vậy nó có thể làm việc với bất kỳ ngôn ngữ nào có thư viện HTTP chẳng hạn như cURL và urllib Chúng ta có thể sử dụng trực tiếp Graph API trên trình duyệt của mình

Graph API là giải pháp cơ bản để lấy ra và đưa dữ liệu vào các thư viện của Facebook Đó là một API HTTP-based cấp thấp có thể sử dụng để đăng các bức ảnh và hàng loạt các thao tác khác mà một ứng dụng cần phải có Open Graph của Facebook cho phép định nghĩa các đối tượng và hành động mới trong mạng xã hội của những người sử dụng ứng dụng, cho phép tạo các đối tượng mới của những action và object đó thông qua Graph API

Graph API cũng là một phương tiện được sử dụng bởi iOS, Android, PHP và JavaScript SDK của Facebook Nó được sử dụng bởi nhiều bộ công cụ của bên thứ ba với nhiều ngôn ngữ khác

1.2.3 Ưu điểm và khuyết điểm trong việc sử dụng Facebook Graph API

+ Facebook có SDK Javascript riêng để tương tác với chính Graph API, tuy nhiên chỉ cho Javascript phía client Không có SDK Node.js!

+ Mặc dù có một số package cho phép làm việc với Graph API của Facebook, tuy nhiên chúng vẫn chưa đủ hoàn thiện như các API cho các nền tảng mạng xã hội khác như Twit cho Twiter API

Trang 15

+ Các ứng dụng Graph API thường lấy dữ liệu của người dùng, vì vậy việc thất thoát dữ liệu rất cần được quan tâm

1.3 Giới thiệu về Facebook Login

Facebook Login rất nhanh là tiện lợi, mọi người có thể tạo tài khoản và đăng nhập vào trong ứng dụng trên nhiều nền tảng khác nhau Chúng ta có thể dùng trên IOS, Android, Web, Windows Phone,.vv Facebook Login cho phép 2 kịch bản, xác thực và yêu cầu quyền truy cập dữ liệu của mọi người Chúng ta có thể chỉ sử dụng Facebook Login chỉ để xác thực hoặc cho cả xác thực và truy cập dữ liệu

- Facebook Login được sử dụng các trường hợp sau + Tạo tài khoản

Facebook Login cho phép mọi người có thể tạo tài khoản trong ứng dụng một cách dễ dàng và nhanh chóng mà không cần phải đặt mật khẩu Khi đã tạo tài khoản trên một nền tảng nào đó, chúng ta có thể đăng nhập bằng một cái nhấp chuột duy nhất, đem lại sự thuận tiện tối đa cho người sử dụng

+ Cá nhân hóa

Facebook Login cho phép người dùng có thể truy cập các thông tin phức tạp thông qua nội dung đã đăng ký trước như: tên người dùng, mật khẩu,.vv

+ Xã hội

Ứng dụng cho phép người dùng có thể kết nối bạn bè của họ với nhau, cho phép họ có thể trải nghiệm trong ứng dụng được chia sẻ

- Tính năng, đặc điểm của Facebook Login + Đăng nhập nền tảng chéo

Facebook Login có sẵn trên các nền tảng ứng dụng dành cho thiết bị di động và máy tính để bàn phổ biến nhất Những người tạo tài khoản với Facebook trên một nền tảng có thể nhanh chóng và dễ dàng đăng nhập vào ứng dụng trên một nền tảng khác Một người cấp một User ID, họ có thể trải nghiệm các tính năng của ứng dụng của chúng ta ở tất cả mọi nơi mà họ đến Facebook Login có sẵn trên các hệ điều hành như Android, Web và Windows Phone cho các ứng dụng dành cho máy tính để bàn và cho các thiết bị như Smart TV và Internet of Things

Trang 16

+ Quyền chi tiết

Facebook Login hỗ trợ các quyền hạn xác định thông tin mọi người chọn chia sẻ với ứng dụng của chúng ta Điều này có nghĩa là chúng ta có quyền kiểm soát chính xác những gì chúng ta yêu cầu và mọi người có quyền kiểm soát những gì họ chọn để phê duyệt

+ Mọi người có quyền kiểm soát đối với những gì họ chia sẻ

Với Facebook Login mọi người có thể chọn thông tin họ chia sẻ với ứng dụng của chúng ta Họ có thể nhận được lợi ích khi đăng nhập bằng Facebook mặc dù điều đó làm người dùng không thoải mái khi phải cung cấp một số thông tin nhất định

+ Nhận dạng thực

Khi mọi người chọn đăng nhập bằng Facebook, họ có thể chia sẻ danh tính thực của mình thông qua trang cá nhân công khai của họ Trang cá nhân công khai bao gồm tên thực, ảnh đại diện của một người Các ứng dụng dựa trên danh tính

thực thường có ít spam hơn và tạo điều kiện thuận lợi cho các cuộc trò chuyện có

chất lượng cao hơn

+ Hoạt động cùng với hệ thống tài khoản có sẵn

Đăng nhập Facebook bổ sung cho hệ thống tài khoản có sẵn của người dùng Mang lại cho mọi người tùy chọn đăng nhập bằng Facebook cùng với email, tin nhắn hoặc các lựa chọn đăng nhập xã hội khác Nếu địa chỉ email nhận được từ tính năng đăng nhập Facebook khớp với địa chỉ đã có trong hệ thống, chúng ta có thể đăng nhập người đó vào tài khoản hiện có của họ mà không cần phải thêm mật khẩu

+ Ủy quyền từng bước

Facebook Login hỗ trợ ủy quyền từng bước, chúng ta không cần phải yêu cầu trước tất cả những gì mình muốn mà có thể yêu cầu theo thời gian Điều này có nghĩa là mọi người có thể tạo tài khoản trong ứng dụng của mình một cách nhanh chóng và dễ dàng, và khi trải nghiệm của họ với ứng dụng nhiều hơn, chúng ta có thể yêu cầu thêm thông tin để nâng cao trải nghiệm

1.4 Giới thiệu về SDK

Trang 17

1.4.1 Facebook SDK cho Javascript

SDK Javascript là một nhóm gồm nhiều chức năng phía máy khách để thêm lệnh gọi Social Plugins, Facebook Login và Graph API, Facebook SDK cho Javascript cung cấp một cách phong phú các chức năng phía máy khách như:

- Cho phép sử dụng các nút thích và các thư viện của Facebook trên trang web - Cho phép sử dụng tính năng Facebook Login để đăng nhập hoặc đăng ký

thành viên trên trang web

- Giúp dễ dàng gọi vào Graph API của Facebook

- Khởi chạy hộp thoại cho phép mọi người có thể thực hiện các hành động khác nhau như chia sẻ tin

- Hỗ trợ hoạt động giao tiếp khi chúng ta phát triển ứng dụng

Facebook SDK cho JavaScript không có bất kỳ tệp độc lập nào cần được tải xuống hoặc cài đặt, thay vào đó chỉ cần đưa một đoạn JavaScript thông thường vào HTML sẽ tải SDK không đồng bộ vào các trang

1.4.2 Facebook SDK cho PHP

Facebook SDK cho PHP là một thư viện với các tính năng mạnh mẽ cho phép các nhà phát triển PHP dễ dàng tích hợp đăng nhập Facebook và đưa ra các yêu cầu tới Graph API Giúp dễ dàng để tải lên hình ảnh, video và gửi yêu cầu hàng loạt đến Graph API SDK cho PHP có nhiều điểm mở rộng giúp các nhà phát triển PHP có toàn quyền kiểm soát cách SDK dành cho PHP tương tác với môi trường lưu trữ và khung web cụ thể của họ

1.5 Tổng quan về ngôn ngữ PHP và mô hình MVC

1.5.1 Giới thiệu về ngôn ngữ PHP

PHP (viết tắt hồi quy “PHP: Hypertext Preprocessor”) là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và rút ngắn thời gian xây dựng sản phẩm

Trang 18

Để sử dụng mã PHP vào việc lập trình web, chúng ta phải đặt mã PHP vào cặp thẻ <?php và ?> thì chương trình mới hiểu và biên dịch mã đúng Đây là một điểm khá tiện lợi của PHP giúp cho việc viết mã PHP trở nên khá trực quan và dễ dàng trong việc xây dựng phần giao diện

Ngôn ngữ lập trình PHP là một loại ngôn ngữ đặc biệt được thiết kế để giúp các lập trình viên có thể dễ dàng tạo ra các trang website Ngôn ngữ lập trình PHP bao gồm các quy tắc mà các lập trình viên cần tuân theo khi viết các mã lệnh:

- Mã lệnh của chương trình cần được đặt trong cặp thẻ <?php ?> - Sử dụng dấu chấm phẩy “;” để kết thúc một câu lệnh

- Văn bản cần được đặt trong cặp dấu nháy đơn ' ' hoặc cặp dấu nháy kép " " Tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới Ví dụ đoạn code php: + Luôn được cải tiến và cập nhật

+ Có nhiều hướng dẫn sử dụng trên mạng + Hoàn toàn miễn phí

+ Có thể thực thi trên bất cứ hệ điều hành nào

Trang 19

+ Không chỉ làm việc với html mà còn làm việc được với hình ảnh, PDF, Flash movie,

+ Có thể dễ dàng kết nối với các cơ sở dũ liệu như: mySQL, mSQL, FrontBase, dBase, Solid, ODBC, Oracle, FilePro,

+ Được sử dụng để xây dựng các framework lớn như: Joomla, Drupal, Zend,

+ Có nhiều editor hỗ trợ: PHPDesigner, DreamWeaver,

1.5.2 Giới thiệu mô hình MVC

Mô hình MVC là mô hình được sử dụng rộng rãi nhất trong việc phát triển ứng dụng web Được đưa ra bởi các nhà nghiên cứu tại phòng thí nghiệm Xerox PARC Palo Alto, dựa trên ngôn ngữ lập trình Smalltalk, công bố vào cuối những năm 1970

Kiến trúc này ngày càng được phát triển và hoàn thiện nhằm giải quyết các vấn đề phát sinh cũng như các giải pháp cho quá trình phát triển phần mềm Vì vậy, lần lượt các MVC framework ra đời, trong lĩnh vực phát triển Web với ngôn ngữ PHP, chúng ta có các framework như Laravel, CodeIgniter, Zend, …

MVC (Model – View – Controller) là một mô hình thiết kế theo hướng đối tượng, cho phép lập trình viên có thể chia nhỏ code của mình ra thành 3 phần là: Model, View và Controller

- Model: làm việc với dữ liệu và thực hiện các xử lý nghiệp vụ

- View: hiển thị dữ liệu và các thành phần trong giao diện người dùng

- Controller: điều khiển các sự kiện của người dùng có ảnh hướng đến Model và View

Trang 20

Hình 1: Mô hình MVC

- Ưu điểm của mô hình MVC:

+ Phát triển phần mềm: chuyên nghiệp hóa, có thể chia công việc cho nhiều nhóm chuyên môn khác nhau: nhóm thiết kế, nhóm lập trình, nhóm tổ chức CSDL, … Giúp phát triển ứng dụng nhanh, đơn giản, dễ nâng cấp

+ Bảo trì: Với các lớp được phân chia, các thành phần của hệ thống dễ được thay đổi, nhưng sự thay đổi có thể được cô lập trong từng lớp, hoặc chỉ ảnh hưởng đến lớp ngay gần kề của nó mà không ảnh hưởng đến cả chương trình

+ Mở rộng: Việc thêm chức năng vào cho từng lớp sẽ dễ dàng và thuận tiện hơn cho người sử dụng

- Nhược điểm:

+ Thích hợp với dự án vừa và lớn, còn đối với dự án nhỏ thì việc áp dụng mô hình MVC sẽ gây cồng kềnh, tốn thời gian phân chia

+ Tốn thời gian trung chuyển dữ liệu giữa các lớp - Lý do nên làm việc theo mô hình MVC:

+ Vì mô hình MVC chia ứng dụng thành 3 lớp là View, Controller, Model nên có thể ra nhiều view và nhiều controller cho các model mà không phải

Trang 21

đối mặt với việc thay đổi trong thiết kế Model nên giúp việc duy trì, di chuyển và tổ chức ứng dụng dễ dàng hơn

+ Cho phép sửa đổi mà không ảnh hưởng nhiều đến các thành phần khác + Cho phép làm việc nhóm trở nên dễ dàng hơn vì nhóm nào chỉ lo phần việc

của nhóm đó - Xây dựng Model:

+ Thường thì chúng ta nên xây dựng Model trước bởi vì Model phục vụ như là nền tảng dữ liệu cho toàn bộ ứng dụng web

+ Nhiều chức năng của Controller phụ thuộc vào Model

+ Trong Model sẽ có các phương thức xử lý liên quan đến dữ liệu: xử lý trực tiếp hoặc lấy dữ liệu từ CSDL

Trang 22

foreach($books as $title => $book){

echo “<tr><td><a href=index.php?book=” $book->title “>” $book->title “</a></td><td>” $book->author “</td></tr>”; }

?> </table>

- Xây dựng Controller:

+ Controller được xem là cơ bắp của ứng dụng

+ Mọi thứ mà người dùng có thể thực hiện trên trang web đều được thể hiện

public function constructor(){ $this->model = new BookModel();} public function invoke(){

1.5.3 Giới thiệu về MySQL

MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng Vì MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập

Trang 23

CSDL trên internet MySQL miễn phí hoàn toàn cho nên chúng ta có thể tải về MySQL từ trang chủ Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, v.v

MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác, nó làm nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl

- MySql có những đặc điểm nổi bật sau:

+ Tốc độ: MySQL rất nhanh Những nhà phát triển cho rằng MySQL là cơ sở dữ liệu nhanh nhất mà chúng ta có thể có

+ Dễ sử dụng: MySQL tuy có tính năng cao nhưng thực sự là một hệ thống cơ sở dữ liệu rất đơn giản và ít phức tạp khi cài đặt và quản trị hơn các hệ thống lớn

+ Giá thành: MySQL là miễn phí cho hầu hết các việc sử dụng trong một tổ chức

+ Hỗ trợ ngôn ngữ truy vấn: MySQL hiểu SQL, là ngôn ngữ của sự chọn lựa cho tất cả các hệ thống cơ sở dữ liệu hiện đại Chúng ta cũng có thể truy cập MySQL bằng cách sử dụng các ứng dụng mà hỗ trợ ODBC (Open Database Connectivity -một giao thức giao tiếp cơ sở dữ liệu được phát triển bởi Microsoft)

+ Năng lực: Nhiều client có thể truy cập đến server trong cùng một thời gian Các client có thể sử dụng nhiều cơ sở dữ liệu một cách đồng thời Chúng ta có thể truy cập MySQL tương tác với sử dụng một vài giao diện để chúng ta có thể đưa vào các truy vấn và xem các kết quả: các dòng yêu cầu của khách hàng, các trình duyệt Web…

+ Kết nối và bảo mật: MySQL được nối mạng một cách đầy đủ, các cơ sở dữ liệu có thể được truy cập từ bất kỳ nơi nào trên Internet do đó chúng ta có thể chia sẻ dữ liệu của mình với bất kỳ ai, bất kỳ nơi nào Nhưng MySQL kiểm soát quyền truy cập cho nên người mà không nên nhìn thấy dữ liệu của chúng ta thì không thể nhìn được

Trang 24

+ Tính linh động: MySQL chạy trên nhiều hệ thống UNIX cũng như không phải UNIX chẳng hạn như Windows hay OS/2 MySQL chạy được các với mọi phần cứng từ các máy PC ở nhà cho đến các máy server

+ Sự phân phối rộng: MySQL là một mã nguồn mở và lập trình viên có thể thay đổi code nếu thấy cần thiết

+ Sự hỗ trợ: Chúng ta có thể tìm thấy các tài nguyên có sẵn mà MySQL hỗ trợ Cộng đồng MySQL rất có trách nhiệm Họ trả lời các câu hỏi trên mailing list thường chỉ trong vài phút Khi lỗi được phát hiện, các nhà phát triển sẽ đưa ra cách khắc phục trong vài ngày, thậm chí có khi trong vài giờ và ngay lập tức cách khắc phục đó sẻ có ở trên Internet để người sử dụng có thể tìm kiếm

Trang 25

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

2.1 Tìm hiểu chung về ứng dụng web tự động thực hiện các thao tác trên Facebook

2.1.1 Mô tả bài toán

Một doanh nghiệp kinh doanh các mặt hàng thời trang trên nền tảng mạng xã hội Facebook Mỗi ngày doanh nghiệp phải đăng hàng loạt sản phẩm lên trang fanpage của doanh nghiệp, các nhóm trong Facebook và chính trang cá nhân của chủ doanh nghiệp Một bài đăng khi đăng lên Facebook có thể có nội dung sản phẩm muốn bán, giá cả, hình ảnh của sản phẩm, các video đính kèm, nhúng các đường link quảng cáo sản phẩm do người dùng tự tạo Một bài đăng có thể được đăng cùng lúc lên nhiều nhóm và nhiều fanpage mà tài khoản của người dùng là thành viên, và có thể đăng lên chính trang cá nhân của chính người dùng, có thể quy định thời gian cách nhau giữa các bài đăng, người dùng có thể xem bài viết đã được đăng lên Facebook Người dùng có thể lưu các bài viết để thuận tiện cho việc đăng bài Ngoài ra người dùng có thể lên lịch tự động đăng bài cho các bài viết đã được lưu trữ, và quy định trạng thái bài viết có được phép đăng hay không Bên cạnh đó, chúng ta có thể tự động bình luận bài đăng để tăng lượt tương tác trên Facebook, giúp sản phẩm tiếp cận tối đa người dùng Các bình luận được người dùng tự thêm và lưu trữ để dễ dàng sử dụng, và dễ dàng xóa đi khi không dùng đến Admin có thể thêm tài khoản người dùng mới, quy định trạng thái hoạt động của tài khoản, có thể xóa các tài khoản người dùng nếu muốn, người dùng có thể đăng nhập để kết nối với Facebook cá nhân của mình v.v Bên cạnh các chức năng nói trên, người sử dụng có thể cài đặt trang web của mình để sử dụng một cách tối ưu nhất Có thể cài đặt chung cho cả hệ thống như: cài đặt ngôn ngữ và cài đặt múi giờ; cài đặt thời gian đăng bài; cài đặt tài khoản Facebook như: chỉnh sửa thông tin tài khoản, xóa tài khoản và cập nhật mới tài khoản,.vv ngoài ra người dùng có thể cập nhật website của mình

2.1.2 Phân tích

a Quản lý bài đăng

Trang 26

Chức năng này cho phép người sử dụng có thể quản lý được bài đăng của mình thông qua các hoạt động thêm bài đăng, sửa bài đăng, xóa bài đăng và lưu bài đăng để sử dụng khi cần thiết, ngoài ra trong quá trình thêm bài đăng người dùng có thể hẹn lịch đăng bài Người dùng có thể đăng bài chứa nội dung là chữ, hình ảnh, video và các liên kết, các biểu tượng cảm xúc trong bài viết của mình như một trang Facebook thực sự, có thể tùy chọn thời gian đăng các bài viết và các nhóm hoặc trang mà bài viết được đăng vào Trong quá trình đăng bài ta có thể biết được trạng thái của bài viết đó đã được đăng lên hay chưa, khi bài viết đã được đăng ta có thể xem bài viết thông qua việc liên kết với ứng dụng Facebook thực sự

b Quản lý lịch đăng bài

Chức năng này cho phép người sử dụng có thể quản lý các bài đăng đã lên lịch của mình, có thể sửa nội dung bài đăng, xóa bài đăng ra khỏi danh sách, ta có thể xóa từng bài đăng hoặc có thể chọn nhiều bài đăng cùng lúc, đặt trạng thái cho bài đăng là đăng hay không, ngoài ra có thể tạo bình luận cho bài đăng và hẹn thời gian thực hiện tự động bình luận trên bài đăng Ta có thể quy định thời gian bắt đầu và thời gian kết thúc của bình luận, ngoài ra có thể quy định tần suất và thời gian trễ của bình luận

c Quản lý bình luận

Chức năng này cho phép người sử dụng có thể thêm bình luận cho bài viết của mình, sửa bình luận, xóa bình luận

d Quản lý người dùng

Chức năng quản lý người dùng cho phép Admin có thể thêm người dùng sử dụng ứng dụng web, sửa thông tin người dùng hoặc có thể xóa tài khoản người dùng, chúng ta có thể xóa một tài khoản hoặc nhiều tài khoản trong cùng một lúc, cập nhật trạng thái của tài khoản người dùng được phép hoạt động hay không, xem chi tiết thông tin về tài khoản của người dùng Ngoài ra admin còn có thể tìm kiếm người dùng thông qua tên hoặc loại tài khoản của họ

e Cài đặt

Trang 27

Chức năng cài đặt cho phép người sử dụng có thể cài đặt trang web theo ý muốn của mình Mang lại sự tiện lợi cũng như nâng cao trải nghiệm hệ thống của người sử dụng Hệ thống có các chức năng cài đặt sau:

- Cài đặt chung bao gồm: Cài đặt múi giờ, cài đặt ngôn ngữ, số lượng các bản ghi hiển thị

- Cài đặt tài khoản bao gồm: Cài đặt số lượng các nhóm và các trang đăng bài, chỉnh sửa thông tin tài khoản

- Cài đặt đăng bài bao gồm: Cài đặt thời gian đăng mặc định, các trạng thái - Chỉnh sửa hồ sơ tài khoản hiện hành như: số lượng các nhóm và các trang

đăng bài, chỉnh sửa thông tin người dùng

- Cập nhật theo tài khoản Facebook của người dùng

2.1.3 Dự trù khả năng đạt được

Sau khi xây dựng, hệ thống có thể tự động đăng bài lên các trang, nhóm và trang cá nhân của người dùng trêm Facebook và có thể thực hiện các thao tác hẹn giờ đăng bài và tự động thực hiện bình luận vào bài đăng Người dùng có thể cài đặt trang web một cách dễ dàng Từ đó có thể tiếp cận với nhiều khách hàng trên facebook và giúp cho hoạt động kinh doanh của doanh nghiệp thêm hiệu quả

2.2 Xây dựng chức năng của ứng dụng

2.2.1 Xác định Actor và vai trò của Actor trong hệ thống

Người dùng: Quản lý đăng bài, Quản lý lịch đăng bài, Quản lý bình luận, Cài đặt hệ thống

Người dùng cần đăng nhập trước khi muốn vào hệ thống Nếu chưa có tài khoản, người dùng phải đăng ký tài khoản mới

Admin: Có chức năng đầy đủ của người dùng, ngoài ra Admin có thể quản lý người dùng

Trang 28

B1: Chọn chức năng đăng nhập vào hệ thống

B2: Hệ thống hiển thị form đăng nhập và yêu cầu nhập usename và password B3: Người dùng nhập usename và password sau đó nhấn đăng nhập

B4: Hệ thống kiểm tra thông tin người dùng nhập và xác nhận thông tin hợp lệ B5: Hệ thống thông báo đăng nhập thành công

B6: Người dùng thoát khỏi chức năng đăng nhập

Trang 29

Ri:

R1.1: Khởi động hệ thống

R1.2: Chọn chức năng đăng nhập

R1.3: Nhập user và password vào nhấn đăng nhập

R1.4: Cơ sở dữ liệu kiểm tra thông tin đăng nhập hợp lệ hay không R1.4.1: Nếu thông tin đúng, hệ thống thông báo đăng nhập thành công R1.4.2: Nếu sai, hệ thông báo đăng nhập lỗi và yêu cầu nhập lại R1.5: Quản lý làm việc với hệ thống

 Quản lí bài đăng:

Tác nhân: Người dùng và Admin Mô tả:

B1: Người dùng đăng nhập vào hệ thống B2: Người dùng xem danh sách các bài đăng

B3: Cập nhật: Thêm bài đăng, sửa bài đăng, xóa bài đăng B4: Đăng xuất khỏi hệ thống

Ri:

R2.1: Người dùng khởi động hệ thống R2.2: Người dùng yêu cầu đăng nhập

R2.3: Người dùng nhập username và password

R2.4: Cơ sở dữ liệu kiểm tra thông tin đăng nhập có đúng hay không R2.4.1: Nếu thông tin đăng nhập đúng, thông báo đăng nhập thành công R2.4.2: Nếu thông tin đăng nhập sai, hệ thống báo lỗi và yêu cầu nhập lại R2.5: Hiển thị hệ thống

R2.6: Quản lý giao diện sửa và làm việc R2.6.1: Nhập bài đăng mới

R2.6.2: Sửa bài đăng

Trang 30

R2.6.3: Xóa bài đăng

R2.7: Cơ sở dữ liệu lưu thông tin cập nhật R2.8: Hệ thống thông báo cập nhật thành công  Quản lí lịch đăng:

Tác nhân: Người dùng và Admin Mô tả:

B1: Người dùng đăng nhập vào hệ thống

B2: Người dùng xem danh sách các bài đăng đã lên lịch

B3: Cập nhật: Thêm lịch đăng, sửa lịch đăng, xóa lịch đăng, trạng thái bài đăng B4: Đăng xuất khỏi hệ thống

Ri:

R3.1: Người dùng khởi động hệ thống R3.2: Người dùng yêu cầu đăng nhập

R3.3: Người dùng nhập username và password

R3.4: Cơ sở dữ liệu kiểm tra thông tin đăng nhập có đúng hay không R3.4.1: Nếu thông tin đăng nhập đúng, thông báo đăng nhập thành công R3.4.2: Nếu thông tin đăng nhập sai, hệ thống báo lỗi và yêu cầu nhập lại R3.5: Hiển thị hệ thống

R3.6: Quản lý giao diện sửa và làm việc R3.6.1: Thêm lịch đăng bài

R3.6.2: Sửa lịch đăng R3.6.3: Xóa lịch đăng

R3.7: Cơ sở dữ liệu lưu thông tin cập nhật R3.8: Hệ thống thông báo cập nhật thành công  Quản lí bình luận:

Tác nhân: Người dùng và Admin

Ngày đăng: 24/04/2024, 05:09

Tài liệu cùng người dùng

Tài liệu liên quan