Mục đích của tiểu luận tìm hiểu về API, API các mạng xã hội và tập trung vào API mạng xã hội. Giúp nắm tổng quan về API, API các mạng xã hội; tìm hiểu về Facebook API; viết ứng dụng sử dụng Facebook API nhằm củng cố kiến thức lý thuyết.
BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT Mà ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ THỰC TẬP CƠ SỞ CHUYÊN NGÀNH TÌM HIỂU VÀ SỬ DỤNG FACEBOOK API Ngành: An tồn thơng tin Tp Hồ Chí Minh, 2019 BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT Mà ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ THỰC TẬP CƠ SỞ CHUYÊN NGÀNH TÌM HIỂU VÀ SỬ DỤNG FACEBOOK API Ngành: An tồn thơng tin Sinh viên thực hiện: Ma Ri Hạnh Lê Nguyễn Mai Trâm Lớp: AT13N Giáo viên hướng dẫn: ThS Lê Anh Tiến Khoa An tồn thơng tin – Học viện Kỹ thuật mật mã Tp Hồ Chí Minh, 2019 LỜI CẢM ƠN Trong q trình thực thực tập sở chuyên ngành này, chúng em xin gửi lời cảm ơn đến giáo viên hướng dẫn thầy Lê Anh Tiến tận tình hướng dẫn suốt q trình chúng em thực hồn thành sở chuyên ngành Chúng em xin chân thành cảm ơn q Thầy, Cơ khoa An tồn thông tin ,Học viện Kĩ thuật Mật mã tận tình truyền đạt kiến thức năm học tập Với vốn kiến thức tiếp thu trình học khơng tảng cho q trình nghiên cứu khóa luận mà hành trang q báu để em bước vào đời cách vững tự tin Cuối cùng, chúng em xin kính chúc quý Thầy, Cơ gia đình dồi sức khỏe thành công nghiệp giảng dạy cao quý SINH VIÊN THỰC HIỆN Ma Ri Hạnh Lê Nguyễn Mai Trâm LỜI NÓI ĐẦU Thuật ngữ API dường xuất lần viết Ira W Cotton, Cấu trúc liệu kỹ thuật cho đồ họa máy tính từ xa, xuất năm 1968 Trong việc xây dựng ứng dụng, API đơn giản hóa việc lập trình cách trừu tượng hóa việc triển khai phơi bày đối tượng hành động mà nhà phát triển cần Mặc dù giao diện đồ họa cho ứng dụng email cung cấp cho người dùng nút thực tất bước để tìm nạp tơ sáng email mới, API cho đầu vào / đầu tệp cung cấp cho nhà phát triển chức chép tệp từ vị trí sang vị trí khác mà không cần yêu cầu nhà phát triển hiểu hoạt động hệ thống tệp xảy đằng sau hậu trường Chun đề thực nhằm mục đích tìm hiểu API, API mạng xã hội tập trung vào API mạng xã hội Facebook Mục tiêu đặt thực chuyên đề là: Nắm tổng quan API, API mạng xã hội Tìm hiểu Facebook API; Viết ứng dụng sử dụng Facebook API nhằm củng cố kiến thức lý thuyết Sau thời gian thực hiện, mục tiêu đạt Tuy nhiên sách API Facebook có nhiều thay đổi , thời gian thực tương đối ngắn nên chắn không tránh khỏi thiếu sót Rất mong góp ý thầy cô, bạn sinh viên để chuyên đề hoàn thiện SINH VIÊN THỰC HIỆN Ma Ri Hạnh Lê Nguyễn Mai Trâm MỤC LỤC Danh mục kí hiệu viết tắt hình vẽ Chương API I API 1 Khái niệm Một số loại API Tại phải dùng API? II REST API REST RESTful API Kiến trúc REST 3 Cách hoạt động .4 III Kết luận chương .5 Chương GRAPH API I Gới thiệu Graph API II Facebook Graph API Facebook Graph API gì? Một số thành phần Facebook Grạph API 2.1 HTTP 2.2 Mã truy cập 2.3 Cấu trúc 2.4 URL lưu trữ 2.5 ID đối tượng 2.6 Phiên Hướng dẫn sử dụng Facebook Graph API 10 III Kết luận chương 12 Chương FACEBOOK API 13 I API mạng xã hội 13 Facebook 14 Twitter 14 Instagram 14 Pinterest 14 Google+ 14 LinkedIn 14 Hatena 14 II Facebook API .14 Facebook API gì? .14 Cách thức hoạt động Facebook API 14 Một số phương thức Facebook API 15 API với FQL 17 III Kiến trúc hệ thống Facebook 18 Mơ hình ứng dụng web thơng thường 18 Mơ hình ứng dụng web Facebook 19 Cách thức làm việc .20 IV Ứng dụng tương lai .21 V Kết luận chương 22 Chương XÂY DỰNG ỨNG DỤNG VỚI FACEBOOK API 23 I Mô tả ứng dụng 23 II Lựa chọn công cụ, ngơn ngữ lập trình 23 III Tạo ứng dụng 23 Tạo app để giao tiếp với Facebook 23 Chuẩn bị số thông tin trước tạo project 24 Tạo Project JAVA IDE 27 Chạy Project 28 IV Kết luận chương 31 Kết luận 32 Tài liệu tham khảo 33 PHỤ LỤC 34 DANH MỤC KÍ HIỆU VIẾT TẮT VÀ HÌNH VẼ DANH MỤC KÍ HIỆU VÀ VIẾT TẮT API Application programing interface REST Representational State Transfer FQL Facebook Query Language FBJS Facebook Javascript CSS Cascading Style Sheets SDK Software Development Kit DANH MỤC HÌNH VẼ Hình 1.1.1 Minh họa API Hình 1.1.2 Minh họa kiến trúc REST Hình 1.1.3 Minh họa cách REST hoạt động Hình 1.2.1 Phương thức Facebook Hình 1.1 Mơ hình web thơng thường Hình 1.2 Mơ hình web Facebook Hình 1.3 Mơ hình web facebook làm việc vớ cache H ình1.4 Cách thức làm việc Facebook Hình 3.3 Giao diện tạo app với Facebook Hình 3.4 Giao diện GRAPH API Hình 3.5 Hướng dẫn lấy id app Hình 3.6 Hướng dẫn lấy id page Facebook Hình 3.7 Hướng dẫn lấy url thơng qua Graph API Hình 3.8 Hướng dẫn lấy url thơng qua Graph API Hình 3.9 Mơ tả cấu trúc Project cần tạo Hình 4.1 Kết chạy project Hình 4.2 Giao diện đăng nhập vào Facebook Hình 4.3 Thơng tin lấy chạy Project CHƯƠNG API I API Khái niệm API viết tắt Application Programming Interface (giao diện lập trình ứng dụng) Nó giao tiếp phần mềm dùng ứng dụng khác Cũng giống bàn phím thiết bị giao tiếp ngườI dùng máy tính, API giao tiếp phần mếm chẳng hạn chương trình hệ điều hành (HĐH) Hình 1.1.1 Bộ API HĐH khác nhau, làm cho HĐH khác thường khơng tương thích với Ví dụ phần mềm HĐH Linux khơng thể chạy máy Windows Linux Windows có API hòan tòan khác Một mục đích API cung cấp khả truy xuất đến tập hàm hay dùng — ví dụ, hàm để vẽ cửa sổ hay icon hình Các API, hầu hết interfaces, trừu tượng (abstract) Phần mềm mà muốn cung cấp truy xuất đến thơng qua API cho sẵn, phải thực API Trong nhiều tình huống, API thường phần SDK, hay software development kit Một SDK bao gồm API công cụ/phần cứng, hai thuật ngữ khơng thay cho Ví Dụ :Khi sử dụng ứng dụng thiết bị di động, ứng dụng kết nối Internet gửi liệu tới máy chủ Sau máy chủ lấy liệu, diễn giải liệu, thực hành động cần thiết gửi liệu trở lại thiết bị bạn Ứng dụng giải thích liệu hiển thị thông tin đọc cho bạn Và gọi API Để giải thích rõ hơn, tham khảo ví dụ đây: Thử tưởng tượng bạn nhà hàng, menu có loạt ăn để bạn lựa chọn Nhà bếp phần hệ thống, thực nhiệm vụ chuẩn bị mà bạn đặt Cái thiếu người để truyền đạt ăn mà bạn yêu cầu tới nhà bếp mang đồ ăn cho bạn Đó người phục vụ nói API Người phục vụ truyền đạt yêu cầu bạn tới nhà bếp mang đồ ăn cho bạn Một số loại API API xã hội API phương tiện truyền thông xã hội API xã hội, cung cấp cách để nhà phát triển xây dựng ứng dụng giúp tăng cường sử dụng dịch vụ truyền thông xã hội API thương mại điện tử API thương mại điện tử cho phép nhà phát triển xây dựng ứng dụng cải thiện chức số dịch vụ thương mại điện tử, cung cấp thông tin chi tiết dựa liệu cho nhà tiếp thị nhân viên bán hàng muốn giúp bán sản phẩm trang web thương mại điện tử Ví dụ API thương mại điện tử bao gồm API eBay API quảng cáo sản phẩm Amazon API quản lý người dùng API quản lý người dùng cung cấp phương thức để quản lý theo chương trình quyền người dùng chức tài khoản người dùng Các API đặc biệt hữu ích cho doanh nghiệp tổ chức lớn có cập nhật thường xuyên vào danh sách kiểm sốt truy cập họ Hai ví dụ API quản lý người dùng API quản lý Google Analytics API quản lý người dùng IBM API liên hệ API danh bạ thường sử dụng để xây dựng ứng dụng quản lý danh sách liên hệ người dùng Ví dụ hai API liên hệ khác rõ rệt khung Danh bạ Apple Lusha API ngẫu nhiên API ngẫu nhiên hướng đến ứng dụng làm cho dịch vụ có nhiều chức hướng tới việc cho phép nhà phát triển vui chơi thử nghiệm Tại phải dùng API? Bản thân "phần mềm" buộc phải có nhiều thành phần giao tiếp tận dụng lẫn nhau, không nhà sản xuất ứng dụng hay nhà thiết kế web phải thực thêm nhiều công việc nằm ngồi trọng tâm họ Chính nên phải dùng API API coi khớp nối thành phần phần mềm, giúp phần mềm giao tiếp với tận dụng lực II.REST API Chúng ta thường nghe REST RESTful API phát triển ứng dụng Web, viết ứng dụng trải dài từ Web server tới Mobile app Tuy thân REST lại tên kỹ thuật, mà gần với quy tắc dùng để tạo API REST RESTful API REST hay ReST (REpresentational State Transfer) dạng chuyển đổi cấu trúc liệu đề xuất nhà khoa học máy tính Roy Thomas Fielding vào năm 2012 REST kiểu kiến trúc sử dụng việc giao tiếp máy tính (máy tính cá nhân máy chủ trang web) việc quản lý tài nguyên internet REST sử dụng nhiều việc phát triển ứng dụng Web Services sử dụng giao thức HTTP giao tiếp thông qua mạng internet Các ứng dụng sử dụng kiến trúc REST gọi ứng dụng phát triển theo kiểu RESTful Trên thực tế hay sử dụng thuật ngữ REST thay cho RESTful ngược lại Kiến trúc REST Kiến trúc REST có số đặc điểm sau: Nhất quán xuyên suốt API Ví dụ: ln ln sử dụng danh từ số nhiều thay số nhiều, số Tồn mà không lưu trạng thái (Stateless existence), ví dụ khơng sử dụng session server Đây lý lại có cụm State Transfer (ST) REST Tính chất đảm bảo client submit request, request bao gồm tồn thơng tin mà server cần để xử lý request Đây điều cần thiết để build ứng dụng phục vụ lên tới hàng triệu user Sử dụng HTTP status code Sử dụng URL Endpoint có phân tầng logic Đánh version URL thay HTTP Headers ...BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT Mà ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ THỰC TẬP CƠ SỞ CHUYÊN NGÀNH TÌM HIỂU VÀ SỬ DỤNG FACEBOOK API Ngành: An tồn thơng tin Sinh viên thực hiện: Ma Ri... trường Chuyên đề thực nhằm mục đích tìm hiểu API, API mạng xã hội tập trung vào API mạng xã hội Facebook Mục tiêu đặt thực chuyên đề là: Nắm tổng quan API, API mạng xã hội Tìm hiểu Facebook API; ... xuyên vào danh sách kiểm soát truy cập họ Hai ví dụ API quản lý người dùng API quản lý Google Analytics API quản lý người dùng IBM API liên hệ API danh bạ thường sử dụng để xây dựng ứng dụng