1. CÁC ĐỐI TƯỢNG NỀN TẢNG FACEBOOK
Facebook platform cung cấp một framework cho người phát triển để tạo ra các
ứng dụng tương tác và tích hợp với các tính năng cốt lõi của Facebook và bao gồm 4 thành phần:
+API (Application Programming Interface): cung cấp những lời gọi để lấy thông tin về người sử dụng, nhóm người dùng, bạn bè, thông báo, sự kiện và nguồn cấp dữ liệu…
sơ.
+Ngôn ngữ truy vấn FQL (Facebook Query Language):Ngôn ngữ truy vấn của Facebook (FQL) là một ngôn ngữ dựa trên ngôn ngữ SQL, được các nhà phát triển Facebook tạo ra để giúp người viết ứng dụng truy xuất tới các bảng trong cơ sở dữ liệu bao gồm các bảng : user, friend, group, group_member, event, event_member, photo, album, photo_tag..
+Ngôn ngữ đánh dấu FBML (Facebook Markup Language): FBML là ngôn ngữ đánh dấu do Facebook phát triển, là phần mở rộng của HTML, được sử dụng để hiện thị các trang bên trong trang vải nền Facebook. Hầu hết các thẻ FBML giống hệt với các thẻ HTML và dẫn đến nội dung trình duyệt giống nhau khi phân tích cú pháp, nhưng FBML cũng cung cấp nhiều thẻ hành vi và các thẻ trích ra thông tin từ các cơ sở dữ liệu Facebook và đưa nó vào trong nội dung
của ứng dụng. FBML cũng hỗ trợ các yếu tố tạo style như CSS. Tuy nhiên FBML cũng bao gồm một số yếu tố mở rộng riêng cho Facebook.
+FBJS (Facebook Javascript)
2. MÔ HÌNH WEB THÔNG THƯỜNG
Ứng dụng và cơ sở dữ liệu được đặt trên một máy chủ Web. Ứng dụng sẽ chạy trên server và người dùng thực thi ứng dụng bằng cách sử dụng giao thức HTTP thông qua trình duyệt. Mô hình này sẽ làm việc hiệu quả nếu như server và client có 1 kết nối Internet ổn định.
3. MÔ HÌNH WEB FACEBOOK
4. CÁCH THỨC LÀM VIỆC CỦA ỨNG DỤNG FACEBOOK
1) Trình duyệt của người dùng yêu cầu http://apps.facebook.com/myapp. Địa chỉ này trỏ tới một cụm máy chủ trong trung tâm dữ liệu của Facebook. Những server này sẽ phân tích các yêu cầu , xác định các ứng dụng tương ứng, sau đó tìm kiếm Url callback mà nhà phát triển ứng dụng cung cấp và thực hiện gọi tới Url đó
2) Máy chủ của Facebook sẽ gửi yêu cầu tới máy chủ của người tạo ứng dụng. Yêu cầu này người dùng hoàn toàn không biết.
3) Server chứa ứng dụng tạo một lời gọi API tới server của Facebook bằng cách sử dụng FQL thông qua phương thức fql.query() của API hoặc trực tiếp bằng các hàm API.
4) Máy chủ chứa ứng dụng sẽ trả về FBML tới máy chủ của Facebook. Kết quả đạt được cuối cùng là 1 tài liệu FBML. Tài liệu này sẽ được gửi trả lại server của Facebook để thực thi.
5) Tài liệu FBML sẽ được chuyển sang dạng HTML và phục vụ cho người sử dụng. Đây là bước cuối cùng trong quá trình thực thi và trả về kết quả cho trình duyệt.
5. CHI TIẾT CÁC ĐỐI TƯỢNG NỀN TẢNG FACEBOOK:
5.1:API
5.1.1: Cách thức làm việc của API
Facebook gửi phương thức POST tới máy chủ Facebook API. Nó bao gồm một số các thông số yêu cầu như api_key của ứng dụng. Session_key của người dùng đưa ra yêu cầu. Bên cạnh đó Facebook còn thêm vào tham số fb_sig để thông báo ứng dụng đưa ra yêu cầu. bằng cách này tất cả các lời gọi API sẽ được đảm bảo, Facebook có thể xác minh các yêu cầu được gửi từ một ứng dụng đã được chấp thuận . Thông tin mà Facebook sẽ trả lại là một tài liệu XML.
5.1.2: Các phương thức
Các phương thức API của Facebook được chia thành các nhóm một cách hợp lý:
+Authentication
+Events
+FBML
+Feed
+Notifications
+Profile
+Fql
+Photos
+Friends
+Groups
+Error codes
+Users
5.1.2.1: Authentication
Nhóm hàm này cung cấp 2 phương thức chính để đối phó với xác nhận người dùng . Phương thức facebook.auth.createToken() sẽ tạo ra một mã xác thực để thông qua cơ chế xác thực của Facebook. Sau khi đăng nhập, phương thức thứ 2 là facebook.auth.getSession() sẽ chứa mã thông báo , chỉ khi yêu cầu một auth_token cụ thể. Authentication cũng chính là trở ngại lớn cho các nhà phát triển ứng dụng trực tuyến.
Auth.createToken()
- Mô tả: tạo ra một auth_token để vượt qua trang login.php của Facebook để sau đó tạo ra một phiên giao dịch khi người dùng đã đăng nhập.
- Tham số: api_key, sig, v
- Ví dụ:
$token = $facebook->api_client->
auth_createToken($api_key,md5($sig),”1.0″,”JSON”);
Auth.getSession()
- Mô tả: Trả về một khóa giao dịch bị ràng buộc với auth_token.
- Tham số: auth_token
- Ví dụ:
$session = $facebook->api_client-> auth_getSession ( $auth_token );
5.1.2.2: Events
Nhóm này có 2 phương thức chính để lấy thông tin về sự kiện.
Events.get()
- Mô tả: Sử dụng phương thức này để tìm tất cả các sự kiện của một người dùng, hoặc để truy vấn một tập các sự kiện của một danh sách các ID sự kiện (eids). Nếu 2 tham số uid và eids được cung cấp, phương thức sẽ trả về các sự kiện trong trong danh sách các eids có liên quan tới người sử dụng. Nếu không có tham số eids , phương thức trả lại tất cả sự kiện liên quan tới người dùng được chỉ định. Nếu uid được bỏ qua, phương thức trả về tất cả các sự kiện liên quan tới eids được cung cấp.
- Tham số: uid, eids,start_time, end_time, rsvp_status
- Ví dụ:
Lọc sự kiện của một người dùng:
$events = $facebook->apiclient->events_get(12345, null,null,null,null);
Lọc sự kiện của tập id sự kiện được cung cấp
$events = $facebook->api_client->events_get (null, array(14381739642,16044821668), null,null,null);
Events.getMember()
- Mô tả: Trả về danh sách thành viên liên quan tới một sự kiện. Đây là một mảng đa chiều với chiều thứ nhất chứa tình trạng RSVP(attending, unsure, declined, not_replied) và chiều thứ 2 là uid của người dùng.
- Tham số: eid
- Ví dụ:
$members = $facebook->api_client -> events_GetMembers ($eid);
5.2. FQL
5.3. FBML
5.4. FBJS
Theo Star215