Khóa luận Phát triển ứng dụng trên nền Facebook

Đồ án tt nghip  
ng dng trên nn Facebook  
ĐẠI HC QUC GIA HÀ NI  
TRƯỜNG ĐẠI HC CÔNG NGHỆ  
Hoàng Thị Hiền  
PHÁT TRIN NG DNG TRÊN NN FACEBOOK  
KHOÁ LUN TT NGHIỆP ĐẠI HC HCHÍNH QUY  
Ngành: Công nghthông tin  
Sinh viên: Hoàng ThHin  
Lp : K51CHTTT  
Đồ án tt nghip  
ng dng trên nn Facebook  
ĐẠI HC QUC GIA HÀ NI  
TRƯỜNG ĐẠI HC CÔNG NGHỆ  
Hoàng Thị Hiền  
PHÁT TRIN NG DNG TRÊN NN FACEBOOK  
KHOÁ LUN TT NGHIỆP ĐẠI HC HCHÍNH QUY  
Ngành: Công nghthông tin  
Cán bộ hướng dn: Nguyn Hi Châu  
Sinh viên: Hoàng ThHin  
Lp : K51CHTTT  
Đồ án tt nghip  
ng dng trên nn Facebook  
LI CẢM ƠN  
Lời đầu tiên, tôi xin tỏ lòng biết ơn sâu sắc đến TS. Nguyn Hi Châu, đã tận tình  
hướng dẫn trong suốt quá trình viết khóa luận tốt nghiệp.  
Tôi cũng xin chân thành cảm ơn quý Thầy, Cô trong khoa Công Nghệ Thông Tin,  
đặc biệt là các Thầy, Cô trong bộ môn Hệ Thống Thông Tin, Trường Đại Học Công Nghệ  
- Đại Học Quốc Gia Hà Nội đã tận tình truyền đạt kiến thức trong bốn năm học tập. 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 quí báu để tôi bước vào đời một cách vững  
chắc và tự tin.  
Tôi cũng thầm biết ơn sự ủng hộ của gia đình, bạn bè – những người thân yêu luôn  
là chỗ dựa vững chắc cho tôi.  
Cuối cùng, tôi xin kính chúc quý Thầy, Cô và gia đình dồi dào sức khỏe và thành  
công trong sự nghiệp cao quý.  
Hà Nội, ngày 20 tháng 5 năm 2010  
Sinh viên thực hiện  
Hoàng Thị Hiền  
Sinh viên: Hoàng ThHin  
Lp : K51CHTTT  
Đồ án tt nghip  
ng dng trên nn Facebook  
TÓM TT KHÓA LUN  
Trong khóa luận này tôi đi sâu vào tìm hiu cách thc xây dng ng dng ca mng  
xã hi Facebook. Phần đầu tôi xin gii thiu tng quát vmng xã hi nói chung và mng  
Facebook nói riêng, mt sthng kê mà tôi tp hợp được vtốc độ phát trin ca các  
mng xã hi hin nay. Ngoài ra tôi cũng xin giới thiu mt cách khái quát cơ chế hot  
động ca mng Facebook. Tiếp đó, tôi sẽ trình bày mt cách chi tiết vnn tng ca  
Facebook – công cụ được các nhà phát trin Facebook tạo ra để giúp phát trin ng dng  
trên nn Facebook. Nn tng này bao gồm các đối tượng: API (Application Programming  
Interface), FBML (Facebook Markup Language), FQL (Facebook Query Language) và  
FBJS (Facebook Javascript). Cui cùng tôi smô tquá trình xây dng ng dng trên  
Facebook có sdng nn tng mà Facebook cung cấp như API, FBML, FBJS. Ứng dng  
này sẽ được thêm vào thư mục ng dng ca mạng Facebook và được sdụng như một  
ng dng ca trang Facebook.  
Sinh viên: Hoàng ThHin  
Lp : K51CHTTT  
Đồ án tt nghip  
ng dng trên nn Facebook  
MC LC  
CHƯƠNG 1: TỔNG QUAN VFACEBOOK.................................................................9  
1.1.  
1.2.  
Gii thiu khái quát vmng xã hi.....................................................................9  
Gii thiu vFacebook........................................................................................9  
Facebook là gì ? ......................................................................................................... 10  
Lch sphát trin....................................................................................................... 10  
Cơ chế hoạt động ca Facebook............................................................................. 11  
1.2.1.  
1.2.2.  
1.2.3.  
1.2.3.1.  
1.2.3.2.  
1.2.3.3.  
1.2.4.  
Mô hình ng dụng web thông thường............................................................ 11  
Mô hình ng dng web Facebook .................................................................. 11  
Cách thc làm vic............................................................................................. 13  
Các dng ng dng trên Facebook hin nay......................................................... 13  
Điểm mnh và yếu ca mng Facebook................................................................ 14  
Thng kê số lượng người dùng Facebook so vi mt smng xã hi khác.. 15  
Hướng phát trin của Facebook trong các năm ti. ............................................16  
1.2.5.  
1.2.6.  
1.3.  
CHƯƠNG 2 : FACEBOOK PLATFORM ......................................................................16  
2.1.  
2.2.  
Facebook Platform là gì ? ..................................................................................17  
Các đối tưng nn tng ca Facebook................................................................17  
Facebook API............................................................................................................. 17  
2.2.1.  
2.2.1.1.  
2.2.1.2.  
Facebook API là gì ? ......................................................................................... 17  
Facebook API làm việc như thế nào?............................................................. 18  
Các phương thức ca API. .............................................................................. 18  
Data Store API.................................................................................................... 27  
Thư viện khách................................................................................................... 28  
Ngôn ngữ đánh du Facebook – FBML................................................................ 29  
2.2.1.3.  
2.2.1.4.  
2.2.1.5.  
2.2.2.  
Sinh viên: Hoàng ThHin  
Lp : K51CHTTT  
Đồ án tt nghip  
ng dng trên nn Facebook  
2.2.2.1.  
2.2.2.2.  
2.2.2.3.  
FBML là gì ?....................................................................................................... 29  
Nhóm các thFBML......................................................................................... 29  
CSS ....................................................................................................................... 44  
2.2.3.  
Ngôn ngtruy vn – FQL........................................................................................ 45  
FQL là gì ?........................................................................................................... 45  
Cu trúc câu truy vn FQL............................................................................... 45  
Các toán tvà các hàm htrợ cơ bản............................................................ 46  
Các bảng và các trường được đánh chỉ mc................................................ 47  
Ngôn ngto script – FBJS..................................................................................... 49  
FBJS là gì ? ........................................................................................................ 49  
FBJS làm việc như thế nào ?............................................................................ 49  
Ajax....................................................................................................................... 50  
2.2.3.1.  
2.2.3.2.  
2.2.3.3.  
2.2.3.4.  
2.2.4.  
2.2.4.1.  
2.2.4.2.  
2.2.4.3.  
CHƯƠNG 3 : XÂY DỰNG NG DNG TRÊN NN FACEBOOK ............................51  
1.1.  
1.2.  
Mô tả ứng dng .................................................................................................51  
Cài đặt...............................................................................................................55  
Sinh viên: Hoàng ThHin  
Lp : K51CHTTT  
Đồ án tt nghip  
ng dng trên nn Facebook  
BNG CÁC TVIT TT  
Application Programming Interface  
Facebook Markup Language  
Facebook Query Language  
Facebook Javascript  
API  
FBML  
FQL  
FBJS  
CSS  
Cascading Style Sheets  
DANH SÁCH CÁC HÌNH  
Mô hình web thông thường  
Hình 1.1  
Hình 1.2  
Hình 1.3  
Hình 1.4  
Hình 1.5  
Hình 2.1  
Hình 2.2  
Mô hình web Facebook  
Mô hình web Facebook sdng cache  
Cách thc làm vic ca Facebook  
Bản đồ mng xã hi  
Cách thc làm vic ca Facebook API  
Dòng chy thông tin tmáy chủ ứng dng ti trình duyt của người  
dùng  
Sinh viên: Hoàng ThHin  
6
Lp : K51CHTTT  
Đồ án tt nghip  
ng dng trên nn Facebook  
GII THIU  
Những năm gần đây, mạng xã hi đã trthành mt nhu cu khá phbiến ca nhiu  
người, đặc bit là gii trtrên toàn thế giới. Nó được coi như cuộc sng o của con người  
trong xã hi hiện đại. Mng xã hội được sdụng như một diễn đàn để trao đổi thông tin,  
gii trí, kết ni bn bè, ngoài ra nó còn như một kênh thông tin cung cp nhng tin tc  
cp nht hàng ngày. Tuy nhiên Vit Nam hin nay, khía cnh là mt kênh thông tin,  
ảnh hưởng ca mng xã hội chưa thực sni tri.  
Trong những năm gần đây, Facebook đã nhanh chóng trthành mng xã hi smt  
thế gii và chính các ng dng trên Facebook đã góp mt phn không nhỏ để tạo nên điu  
đó. Nhng ng dng gii trí trên Facebook có tính cộng đồng cao, thu hút người sdng.  
Theo ý kiến thống kê đưc thì có tới 65% người dùng sdng ng dụng đgii trí, 20% ý  
kiến cho rng ng dng tht sphong phú và chỉ có hơn 3% ý kiến cho rng ng dng  
phc tp và khó sdng. Vi thống kê như trên, có thể ddàng nhận ra được sc hút ca  
các ng dng trong mng Facebook và vic to dng các ng dng mi trên Facebook là  
rt cn thiết.  
Trong khóa lun này, tôi sẽ đi sâu vào tìm hiu cách thc to dng ng dng trên  
mng xã hi, cthlà mng Facebook. Tôi strình bày mt cách chi tiết các đối tượng  
được các nhà phát trin Facebook tạo ra để htrợ người viết ng dng. Bên cạnh đó,  
khóa lun cũng trình bày mt cách khái quát vmng xã hi hin nay, mt sthng kê  
mà tôi đã thu thập được và cách thc hoạt động ca Facebook, nhằm giúp người xem có  
thhiu mt phần cơ chế hoạt động ca mng xã hi này.  
Ni dung chính ca khóa lun bao gm 3 chương, với ni dung cthể như sau:  
Chương 1: Tổng quan vFacebook. Chương này tập trung gii thiu mt cách  
khái quát vmng xã hi nói chung và mng Facebook nói riêng, lch sphát trin và  
phương thức hoạt động ca mng Facebook. Cui cùng là mt sthng kê vmng  
Facebook so vi các mng xã hi khác.  
Chương 2: Facebook Platform. Ni dung chính của chương là giới thiu vnn  
tng ca Facebook, cthể là các đối tượng Application Programming Interface (API),  
Facebook Markup Language (FBML), Facebook Query Language (FQL). Đây là các đối  
Sinh viên: Hoàng ThHin  
7
Lp : K51CHTTT  
Đồ án tt nghip  
ng dng trên nn Facebook  
tượng mà các nhà phát trin cung cấp để giúp phát trin ng dng mt cách dễ dàng hơn.  
Ngoài ra chương này còn gii thiu mt số các đối tượng khác cũng được Facebook cung  
cấp như Facebook Javascript (FBJS).  
Chương 3: Xây dng ng dng trên nền Facebook. Chương này sẽ mô tả ứng dng  
thc tế xây dựng được bng vic sdụng các đối tượng mà Facebook cung cp.  
Sinh viên: Hoàng ThHin  
8
Lp : K51CHTTT  
Đồ án tt nghip  
ng dng trên nn Facebook  
CHƯƠNG 1: TNG QUAN VFACEBOOK  
=========*****========  
1.1. Gii thiu khái quát vmng xã hi.  
1.1.1. Khái nim  
Mng xã hi hay còn gi là mng xã hi o (social network) là dch vkết ni  
các thành viên cùng sthích trên Internet li vi nhau vi nhiu mục đích khác nhau  
không phân bit không gian và thi gian.  
1.1.2. Lch sử  
Mở đầu cho knguyên mng xã hi là vào năm 1995 với sự ra đời ca trang  
Classmate.com. Ti thời điểm năm 1995 mạng xã hội này đã có ti 50 triệu người  
dùng. Đây là một con sklc khi mà trong thi kỳ đó Internet vẫn còn rất sơ khai.  
Hai năm sau là sự ra đời ca 2 trang Care2.com và Opendiary.com nhằm đối trng  
vi Classmate. Nhưng tới năm 1999 mới đánh dấu sbùng nvmng xã hi vi 5  
trang mng xã hội được ra đời: Xanga.com, Kiwibox.com, LiveJournal.com,  
BlackPlanet.com và Vampirefreaks.com. Năm 2003, MySpace ra đời vi các tính  
năng như phim nh (embedded video) và nhanh chóng thu hút hàng chc ngàn thành  
viên mi mi ngày. Trong vòng một năm, MySpace trở thành mng xã hội đầu tiên  
có nhiều lượt xem hơn cả Google và được tập đoàn News Corporation mua lại vi  
giá 580 triu USD[1]. Vào tháng 2 năm 2004, sự ra đời của Facebook đánh dấu bước  
ngot mi cho hthng mng xã hi trc tuyến vi nn tng lp trình "Facebook  
Platform" cho phép thành viên to ra nhng công c(apps) mi cho cá nhân mình  
cũng như các thành viên khác dùng. Facebook Platform nhanh chóng gặt hái được  
thành công vược bc, mang lại hàng trăm tính năng mới cho Facebook và đóng góp  
không nhcho con strung bình 19 phút mà các thành viên bra trên trang này mi  
ngày. Tiếp theo năm 2006 đánh dấu sự ra đời ca Twitter.  
Ti thời điểm hin ti các trang web xã hi vn tiếp tục tăng. Đã có hàng trăm  
các mng xã hội khác nhau như Facebook, Cramster, Internship Ratings , Twitter,  
Remember the Milk, Gradefund ... Tuy nhiên người dùng hầu như chỉ sdng các  
trang ni tiếng như Facebook, Twitter, Myspace.  
1.2. Gii thiu vFacebook.  
Sinh viên: Hoàng ThHin  
9
Lp : K51CHTTT  
Đồ án tt nghip  
ng dng trên nn Facebook  
1.2.1. Facebook là gì ?  
Facebook là mt website mng xã hi truy cp min phí do công ty Facebook,  
Inc điu hành và shữu tư nhân. Người dùng có ththam gia các mạng lưới được tổ  
chc theo thành phố, nơi làm việc, trường hc 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 bn và gi tin nhn cho h, và cp nht  
trang hồ sơ cá nhân của mình để thông báo cho bn bè biết vchúng. Tên ca  
website nhc ti nhng cun sổ lưu niệm dùng để ghi tên nhng thành viên ca cng  
đồng campus mà mt số trường đại học và cao đẳng ti Mỹ đưa cho các sinh viên  
mới vào trường, phòng ban, và nhân viên để có thlàm quen vi nhau ti khuôn  
viên trường.  
1.2.2. Lch sphát trin.  
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 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, Zuckerman  
thành lập “The Facebook”, ban đầu đặt tại thefacebook.com. Việc đăng ký thành  
viên ban đầu giới hạn trong những sinh viên của đại học Harvard, và trong vòng một  
tháng đầu tiên, hơn một nửa số sinh viên tại Harvard đã đăng ký dịch vụ này.  
Eduardo Saverin (lĩnh vực kinh doanh), Dustin Moskovitz (lập trình viên), Andrew  
McCollum (nghệ sĩ đồ họa), và Chris Hughes nhanh chóng tham gia cùng với  
Zuckerberg để giúp quảng bá website. Vào tháng 3 năm 2004, Facebook mở rộng  
sang Stanford, Columbia, và Yale. Việc mở rộng tiếp tục khi nó mở cửa cho tất cả  
các trường thuộc Ivy League và khu vực Boston, rồi nhanh chóng đến hầu hết đại  
học ở Canada và Hoa Kỳ. Tháng 6 năm 2004, Facebook chuyển cơ sở điều hành  
đến Palo Alto, California. Công ty đã bỏ chữ The ra khỏi tên sau khi mua được tên  
miền facebook.com vào năm 2005. Tới tháng 9 năm 2005, Facebook ra mắt phiên  
bản trung, Zuckerberg gọi nó là một bước logic tiếp theo. Vào thời gian đó, các  
mạng của trường trung học bắt buộc phải được mời mới được gia nhập. Facebook  
sau đó mở rộng quyền đăng ký thành viên cho nhân viên của một vài công ty, trong  
đó có Apple Inc và Microsoft. Tiếp đó vào ngày 26 tháng 9 năm 2006, Facebook  
mở cửa cho mọi người trên 13 tuổi với một địa chỉ email hợp lệ. Vào tháng 10 năm  
2008, Facebook tuyên bố nó đã thiết lập một trụ sở quốc tế tại Dublin, Ireland[2].  
Sinh viên: Hoàng ThHin  
10  
Lp : K51CHTTT  
Đồ án tt nghip  
ng dng trên nn Facebook  
1.2.3. Cơ chế hoạt động ca Facebook.  
1.2.3.1. Mô hình ng dụng web thông thường  
Hình 1.1: Mô hình web thông thường  
ng dng và cơ sở dliệu được đt trên mt máy chWeb. ng dng schy  
trên server và người dùng thc thi ng dng bng cách sdng giao thc HTTP  
thông qua trình duyt. Mô hình này slàm vic hiu qunếu như server và client có  
1 kết ni Internet ổn định.  
1.2.3.2. Mô hình ng dng web Facebook  
Hình 1.2 : Mô hình web Facebook  
Sinh viên: Hoàng ThHin  
11  
Lp : K51CHTTT  
Đồ án tt nghip  
ng dng trên nn Facebook  
Người dùng truy cp Facebook.com và ng dng thông qua trình duyt và  
Internet. Tuy nhiên ng dụng không được đặt ti máy chcủa Facebook mà được  
lưu trên máy chủ của chính người to ra ng dụng đó. Facebook Platform cũng  
cung cp mt giao diện cho ngưi viết ng dng.  
Vi mt máy chweb bình thường trung bình chchịu được t100 ti 500  
truy vn cùng mt lúc. Tuy nhiên vi Facebook trung bình mi giây phi hin 600  
nghìn hình nh cùng mt lúc. Vấn đề đặt ra ở đây là làm thế nào để mi giây  
Facebook hiện được 600 ngàn hình ảnh ? Để gii quyết vấn đề này Facebook đã sử  
dụng vùng lưu trữ đệm (cache) và đây cũng chính là trái tim ca hthng.  
Hình 1.3: Mô hình web Facebook sdng cache  
Facebook đã phát trin Haystack – mt hthng qun lý các tp tin hình nh  
trung gian đci tiến struy vấn. Trước đây, Facebook đã sdng hthng 2 tng :  
mt tng chuyên cho vic upload hình ảnh và lưu trữ vào server. Tng kia có nhim  
vtìm và ly hình nh từ server để trli các truy vn. Tuy vy vic xlý theo cách  
cổ điển này là không phù hp vi nhu cầu tăng rt nhanh số lượng người dùng ca  
Facebook dn ti tình trng nghn mch Input / Output. Haystack squn lý và lưu  
trcác hình ảnh trong vùng đệm và từ đây sẽ trli các truy vn hình nh. Bên cnh  
đó Facebook còn ci tiến các đoạn code trên webserver để gim thiểu kích thước tp  
tin và thi gian tính toán. Ngôn nglp trình cho tng bphn cũng dần được tối ưu  
hóa. Người truy cp sẽ được phân lung ngu nhiên vào các ngân hàng dliệu để  
gim ti và các truy vn ca hsẽ được hthng cache trli nhanh chóng.  
Sinh viên: Hoàng ThHin  
12  
Lp : K51CHTTT  
Đồ án tt nghip  
ng dng trên nn Facebook  
1.2.3.3. Cách thc làm vic  
Hình 1.4: Cách thc làm vic ca Facebook  
1) Trình duyt của người dùng yêu cu http://apps.facebook.com/myapp. Địa chỉ  
này trti mt cm máy chtrong trung tâm dliu ca Facebook. Nhng  
server này sphâ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 trin ng dng cung cp và thc hin gi  
tới Url đó  
2) Máy chca Facebook sgi yêu cu ti máy chcủa người to ng dng.  
Yêu cầu này người dùng hoàn toàn không biết.  
3) Server cha ng dng to mt li gi API ti server ca Facebook bng cách  
sdụng FQL thông qua phương thức fql.query() ca API hoc trc tiếp bng  
các hàm API.  
4) Máy chcha ng dng strvFBML ti máy chca Facebook. Kết quả  
đạt được cui cùng là 1 tài liu FBML. Tài liu này sẽ được gi trli server  
của Facebook đthc thi.  
5) Tài liu FBML sẽ được chuyn sang dng HTML và phc vụ cho người sử  
dụng. Đây là bước cui cùng trong quá trình thc thi và trvkết qucho trình  
duyt.  
1.2.4. Các dng ng dng trên Facebook hin nay  
Sphát trin ngày càng ln mnh của Facebook đã kéo theo sự ra đời ca rt  
nhiu các ng dng. Theo thng kê hin nay có khong 90.000 ng dng trên  
Facebook , vi stham gia ca 120 công ty.  
Sinh viên: Hoàng ThHin  
13  
Lp : K51CHTTT  
Đồ án tt nghip  
ng dng trên nn Facebook  
Theo thống kê năm 2008 ứng dụng trên Facebook được chia làm các loi:  
Alerts  
Business  
Chat  
File sharing  
Food and Drink  
Gaming  
Photo  
Politics  
Sports  
Travel  
Utility  
Video  
Classified  
Dating  
Just for fun  
Messaging  
Mobile  
Education   
Events  
Money  
Fashion  
Music  
Hin nay ng dng hp dẫn người dùng trên Facebook vn là các game. Dn  
đầu là game Farmville vi số lượng người dùng hàng tháng lên ti 82.580.911  
người. Th2 là ng dng Static FBML do Facebook phát trin vi 46.827.021  
người dùng. Đứng th3 là Birthday Card với 41.904.049 người dùng hàng tháng.  
Tiếp theo là các ng dng Café world, Facebook for Iphone, Texas HoldEm Poker,  
1.2.5. Điểm mnh và yếu ca mng Facebook.  
Ưu điểm  
- Là mng phbiến hin nay.  
- Tính kết ni cao, chia scp nht thông tin hàng ngày mà vn bo vệ được  
quyền riêng tư .  
- ng dụng đưc thiết kế khoa hc , thao tác nhanh gn, htrtiếng Vit tt.  
- Dễ dàng lưu trữ và chia shình nh, video clip …  
- Nhiu ng dụng , game, quiz. Người dùng cũng có thể to ra ng dng cho  
riêng mình.  
- Khả năng kết nối, giao lưu với các thành viên trên các lãnh thkhác nhau.  
Sinh viên: Hoàng ThHin  
14  
Lp : K51CHTTT  
Đồ án tt nghip  
ng dng trên nn Facebook  
- Tính năng viết blog cho phép son tho ddàng.  
Nhược điểm  
- Người dùng không tùy chỉnh được template để có trang riêng cho mình.  
- Nếu là người mi dùng Facebook sgp khó khăn về thao tác.  
1.2.6. Thng kê số lượng người dùng Facebook so vi mt smng xã hi khác  
Theo sliu thng kê tính ti tháng 6 /2007, Facebook có số lượng thành viên  
tăng từ 52 triu lên 132 triu trên toàn thế giới vào tháng 6 / 2008, tương đương với  
tlệ tăng là 153%. Trang web mng xã hội đứng th2 là MySpace vi 117 triu  
thành viên nhưng trang này chcó tlệ tăng trưởng là 3% trong cùng thi k.  
Khi xét riêng vtlệ tăng trưởng, trang web mng xã hi duy nht tiến gn  
Facebook là Hi5 vi tlệ tăng là 100% từ năm 2007 tới năm 2008. Tuy nhiên Hi5  
chcó 56 triu thành viên.  
Nếu xét riêng tlệ tăng trưng ca Facebook trên thế gii còn đáng ngc nhiên  
hơn. Các tỉ lnày là 303% Châu Âu, 458% Châu Á Thái Bình Dương, 403% ở  
Trung Phi và Châu Mĩ Latin là 1055%. [3]  
Hình 1.5: Bản đồ mng xã hi tháng 12 năm 2009[4]  
Ti ng tăng vượt bc,  
Việt Nam là nước có số lượng người dùng Facebook tăng nhanh nhất thế gii theo  
Sinh viên: Hoàng ThHin  
15  
Lp : K51CHTTT  
Đồ án tt nghip  
ng dng trên nn Facebook  
thng kê tháng 7/2009 vi tlệ tăng là 26,49%. Tính ti ngày 20/7/2009 số lượng  
người dùng đã vượt qua mc 400.000,chiếm 0,18% lượng người dùng Facebook  
trên thế gii, đã tăng gấp 3 ln so vi thời điểm 5/6/2009 (140.000). Tuy nhiên xét  
ti tháng 6/2009 , theo website Vincos.com, Zing li là mng xã hi ln nht Vit  
Nam .  
1.3. Hướng phát trin ca Facebook trong các năm tới.  
Tính ti thời điểm hin ti, Facebook là mng xã hi ln nht trên thế gii, thu  
hút hàng trăm triệu người. Số lượng thành viên gia tăng một cách nhanh chóng là  
mt li thế giúp Facebook phát triển các tính năng mới. Theo như ông Zuckerberg,  
hiện đang là tổng giám đốc điều hành ca Facebook , cho biết: Trong 5 năm tới  
Facebook skhông chỉ có địa chFacebook.com mà còn gm nhiu hthng khác,  
Facebook cgng mrng số lượng người dùng, phát trin các hthng site. Bên  
cạnh đó Facebook có một số lượng ln các thông tin cá nhân trên mng. Nếu sự  
dng khéo léo các thông tin này, rt có thFacebook sto ra mt hình thái mng xã  
hi khác, tại đó bạn bè cung cp cho nhau nhng thông tin hcần. Trong các năm  
tiếp theo có thFacebook sphát triển theo hướng này. Khi đó Facebook sẽ chuyn  
tmt trang web xã hi sang mt trang web cung cp các dch vụ đáp ứng nhu cu  
của người sdng. Hiện nay tính năng này đang được thnghim.  
CHƯƠNG 2 : FACEBOOK PLATFORM  
=========*****========  
Sinh viên: Hoàng ThHin  
16  
Lp : K51CHTTT  
Đồ án tt nghip  
ng dng trên nn Facebook  
2.1. Facebook Platform là gì ?  
Facebook Platform cung cp một framework cho ngưi phát trin để to ra các  
ng dụng tương tác và tích hp với các tính năng ct lõi ca Facebook. Được gii  
thiệu vào ngày 24 tháng 5 năm 2007 và đến ngày 09 tháng 12 năm 2009 đã có hơn  
500.000 ng dng hoạt động trên Facebook Platform. Facebook platform bao gm 4  
thành phn: FBML, API, FQL và FBJS.  
Khi to ra mt ng dng tFacebook Platform, có thtích hp mt vài thành  
phn trong framework:  
. Hiện thư mục ng dng.  
. Cung cp trang gii thiu.  
. Cung cấp cho ngưi sdng nhng la chn.  
. Gii thiu cho những người khác.  
. Hin thtrang Facebook Canvas.  
. To Left Nav.  
. Hin thbox thông tin.  
. To link liên kết ti profile.  
. Thc thi và gi thông báo ti ngun tin .  
. Gi thông báo email.  
. To yêu cu.  
. To tin nhắn đính kèm.  
. Tích hp vi các thiết lp bo mt ca Facebook.  
2.2. Các đối tượng nn tng ca Facebook.  
2.2.1. Facebook API.  
2.2.1.1. Facebook API là gì ?  
API là viết tt ca Application Programming Interface ( giao diện chương trình  
ng dng ). Facebook API là mt nn tảng để xây dng nhng ng dng cho các  
thành viên ca mng xã hi Facebook. API cho phép các ng dng sdng các kết  
ni xã hi và các thông tin hồ sơ để làm cho các ng dng liên quan ti nhau nhiu  
hơn, và để phbiến nhng hoạt động ti ngun cung cp tin và trang hồ sơ của  
Sinh viên: Hoàng ThHin  
17  
Lp : K51CHTTT  
Đồ án tt nghip  
ng dng trên nn Facebook  
Facebook, tùy thuộc vào cài đặt cá nhân của người dùng. API cung cp nhng li  
gọi để ly thông tin về người sdụng, nhóm người dùng, bn bè, thông báo, skin  
và ngun cp dliu…Cũng có thể dùng li gọi API để cp nht và ly thông tin hồ  
sơ.  
API sdng giao thc RESTful và các hồi đáp được trlại dưới dng XML.  
2.2.1.2. Facebook API làm việc như thế nào?  
API là nn tng do Facebook cung cấp cho người viết ng dụng để ddàng  
trong vic to ng dụng và đảm bảo người viết ng dng không can thip quá sâu  
vào hthng ca Facebook. API cho phép thc thi nn tảng thông qua các phương  
thức được định nghĩa. Thông qua các lời gọi API, người to ng dng có thly  
thông tin vuser, groups, photo,… mà hcn.  
Hình 2.1: Cách thc làm vic ca Facebook API  
Facebook gửi phương thc POST ti máy chFacebook API. Nó bao gm mt  
scác thông syêu cầu như api_key của ng dng. 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. bng cách này tt ccác li gi API sẽ được đảm bo,  
Facebook có thxác minh các yêu cầu được gi tmt ng dụng đã được chp  
thun . Thông tin mà Facebook strli là mt tài liu XML.  
2.2.1.3. Các phương thức ca API.  
Các phương thức API của Facebook được chia thành các nhóm mt cách hp  
lý:  
Sinh viên: Hoàng ThHin  
18  
Lp : K51CHTTT  
Đồ án tt nghip  
ng dng trên nn Facebook  
. Authentication  
. Events  
. Fql  
. Photos  
. Friends  
. Groups  
. FBML  
. Feed  
. Notifications  
. Profile  
. Error codes  
. Users  
. Authentication  
Nhóm hàm này cung cấp 2 phương thức chính để đối phó vi xác nhận người  
dùng . Phương thc facebook.auth.createToken() sto ra mt mã xác thực để thông  
qua cơ chế xác thc của Facebook. Sau khi đăng nhập, phương thức th2 là  
facebook.auth.getSession() scha mã thông báo , chkhi yêu cu mt auth_token  
cth. Authentication cũng chính là trngi ln cho các nhà phát trin ng dng  
trc tuyến.  
Auth.createToken()  
- Mô t: to ra một auth_token để vượt qua trang login.php ca  
Facebook để sau đó tạo ra mt phiên giao dịch khi người dùng đã đăng  
nhp.  
- 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: Trvmt khóa giao dch bràng buc vi auth_token.  
- Tham s: auth_token  
- Ví d:  
Sinh viên: Hoàng ThHin  
19  
Lp : K51CHTTT  
Đồ án tt nghip  
ng dng trên nn Facebook  
$session = $facebook->api_client-> auth_getSession ( $auth_token );  
. Events  
Nhóm này có 2 phương thức chính để ly thông tin vskin.  
Events.get()  
- Mô t: Sdụng phương thức này để tìm tt ccác skin ca mt  
người dùng, hoặc để truy vn mt tp các skin ca mt danh sách  
các ID skin (eids). Nếu 2 tham số uid và eids được cung cp,  
phương thức strvcác skin trong trong danh sách các eids có  
liên quan tới người sdng. Nếu không có tham số eids , phương thức  
trli tt cskin liên quan tới người dùng được chỉ định. Nếu uid  
được bỏ qua, phương thức trvtt ccác skin liên quan ti eids  
được cung cp.  
- Tham s: uid, eids,start_time, end_time, rsvp_status  
- Ví d:  
Lc skin ca một người dùng:  
$events = $facebook->apiclient->events_get(12345,  
null,null,null,null);  
Lc skin ca tp id skiện được cung cp  
$events = $facebook->api_client->events_get (null,  
array(14381739642,16044821668), null,null,null);  
Events.getMember()  
- Mô t: Trvdanh sách thành viên liên quan ti mt skiện. Đây là  
mt mảng đa chiều vi chiu thnht cha tình trng RSVP(  
attending, unsure, declined, not_replied) và chiu th2 là uid ca  
người dùng.  
- Tham s: eid  
- Ví d:  
$members = $facebook->api_client -> events_GetMembers ($eid);  
Sinh viên: Hoàng ThHin  
20  
Lp : K51CHTTT  
Đồ án tt nghip  
ng dng trên nn Facebook  
. Fmbl  
Để phù hp vi mt vài chi tiết mới hơn của FBML, Facebook đã cung cp 2  
phương thức API :  
Fbml.refreshImgSrc()  
- Mô t: Lấy và lưu trữ li hình nh đã lưu cho các Url để sdng cho  
vic ly hình nh các trang không phi trang vi nn thông qua các  
hàm API.  
- Tham s: url  
- Ví d:  
$facebook->api_client->f bml.refreshImgSrc($url_image);  
Fbml.refreshRefUrl()  
- Mô t: Lấy và lưu trữ li ni dung đã lưu cho các Url để sdng trong  
thFBML <fb:ref>  
- Tham s: url  
-
Ví d:  
$facebook->api_client-> fbml.refreshRefUrl  
("http://www.mysite.com/someurl.php");  
.Feed  
Để cp nht li bng tin (feed) của người dùng, API có phương thức:  
Stream.publish()  
- Mô t: Phương thức này xut bn mt bài (post) vào lung(stream)-  
tường của người dùng hin ti hoặc người dùng cth, hoặc tường ca  
một người bn hoc trang Facebook, nhóm hoc skiện được kết ni  
ti phiên giao dch hin ti hoặc người dùng cth. Mặc định, li gi  
này được công btới tường của người dùng hiên ti. Những bài đăng  
này cũng xuất hin trong lung ca những người có kết ni vi cả  
điểm neo và điểm đích của bài đăng.  
-
Ví d: $facebook->api_client->stream_publish($mess);  
. Fql  
Sinh viên: Hoàng ThHin  
21  
Lp : K51CHTTT  
Đồ án tt nghip  
ng dng trên nn Facebook  
Như đã biết, Facebook cung cấp các nhóm hàm API để ly dliu, bên cnh  
đó, API còn cung cp một nhóm hàm để giúp ngưi viết ng dng sdng các câu  
truy vấn FQL đly dliu từ cơ sở dliu ca Facebook.  
Fql.query()  
- Mô t: Thc hin mt truy vn FQL. Vi các truy vn phc tp, kết  
quca mt truy vn bên trong truy vấn khác, để tránh lp li vic  
gi hàm API nhiu ln, có thsdng phương thức fql.multiquery()  
- Tham s: query  
- Ví d:  
Fql.multiquery()  
- Mô t: Thc hin mt lot truy vn FQL trong mt li gi và trvdữ  
liu cùng mt lúc.  
- Tham s: queries  
- Ví d:  
. Friends  
Khi phát trin ng dng, vic hin thdanh sách bn bè của người dùng là rt  
phbiến. Để gii quyết vấn đề này API có các hàm giúp người viết ng dng ly  
thông tin vbn bè của người dùng  
Sinh viên: Hoàng ThHin  
22  
Lp : K51CHTTT  
Đồ án tt nghip  
ng dng trên nn Facebook  
Friends.areFriends()  
- Mô t: Trli mi liên quan giữa 2 người dùng (là bn hoc không là  
bn ca nhau).  
- Tham s: uids1, uids2  
- Ví d:  
Friends.get()  
- Mô t: Trli id user của người dùng, những người là bn của người  
dùng hin hành.  
- Ví d:  
Friends.getAppUsers()  
- Mô t: Trvmng id ca bn bè, những người đã cài đặt ng dng  
- Ví d:  
Friends.getList()  
- Mô t: Trvmng flids (friend list ids ) của người dùng hiên ti  
- Ví d:  
. Groups  
Làm vic vi nhóm cũng là mt phn rt quan trng ca ng dụng . API đã  
cung cấp các phương thức:  
Groups.get()  
- Mô t: Trvcác nhóm theo tiêu chí lọc như nhóm có liên kết vi mt  
người dùng , theo mt danh sách gids hoc theo c2 tiêu chí lc trên.  
Sinh viên: Hoàng ThHin  
23  
Lp : K51CHTTT  
Đồ án tt nghip  
ng dng trên nn Facebook  
- Ví d:  
Groups.getMembers()  
- Mô t: Trvdanh sách thành viên ca mt nhóm. Kết qutrvlà  
mt mảng đa chiều vi chiều đầu tiên là kiu thành viên (admin,  
member, officer, not_replied)  
- Tham s: gid  
- Ví d:  
. Notifications  
Facebook cho phép gi và nhn các thông báo trong ng dng vi các hàm  
API. Có 2 hàm chính:  
Notifications.get()  
- Mô t: Trvmt mảng đa chiều với các đối tượng là các loi thông  
báo: tin nhn, gii thiu nhóm, gii thiu skin, yêu cu kết bn, chia  
s, poke)  
- Ví d:  
Notifications.getList()  
- Mô t: Trvtt cthông tin của người dùng hin ti.  
- Ví d:  
. Photos  
Với hơn 60 triệu bc ảnh được thêm vào mi tun bởi người dùng Facebook,  
các nhà phát triển Facebook đã cung cp một nhóm phương thức API để giúp các  
nhà phát trin ng dng ddàng thao tác vi các nh của người dùng.  
Sinh viên: Hoàng ThHin  
24  
Lp : K51CHTTT  
Đồ án tt nghip  
ng dng trên nn Facebook  
Photos.addTag()  
- Mô t: Thêm mt thẻ đi kèm thông tin cho một bc nh. Thchcó thể  
thêm vào nhng bc ảnh đang chờ gii quyết thuc shu của người  
dùng cthhoặc người dùng hin hành. ng dng vi quyn mrng  
photo_upload có ththêm thvào bt kì bc nh nào thuc quyn sở  
hu của người dùng.  
- Tham s: pid, tag_uid,tag_text, x, y  
- Ví d:  
Photos.createAlbum()  
- Mô t: To và trvmt album mi thuc quyn shu ca mt  
người dùng cthhoặc người dùng hin hành.  
- Tham s: name  
- Ví d:  
Photos.get()  
- Mô t: Trvtt ccác nh theo tiêu chí lc. Có thlc theo 4 cách:  
được đánh dấu theo chủ đề đã quy định, có chứa trong album được  
định rõ bi aid, bao gm tp các ảnh được định rõ bpid hoc c3  
tiêu chí trên.  
- Tham s: subj_id, aid, pids  
- Ví d:  
Photos.getAlbum()  
- Mô t: Trvsiêu dliu vtt ccác album ảnh được ti lên bi  
người dùng cthể. Phương thức này trvthông tin ca tt ccác  
Sinh viên: Hoàng ThHin  
25  
Lp : K51CHTTT  
Đồ án tt nghip  
ng dng trên nn Facebook  
album da theo tiêu chí lc. Nó có thể được sdụng để trli tt cả  
các album ảnh được to ra bởi người dùng, truy vn mt danh sách các  
album thông qua aids hoc lc theo c2 tiêu chí trên.  
- Tham s: uid, aids  
- Ví d:  
Photos.getTags()  
- Mô t: Trvề danh sách người dùng được đánh dấu ca các hình nh  
cth.  
- Tham s: pids  
- Ví d:  
Photos.upload()  
- Mô t: upload mt nh thuc shu của người dùng cthhoặc người  
dùng hin hành và trvlà mt nh mi. Các loi nh htrợ như: gif,  
jpg, png, psd, tiff, jp2, iff, wbmp, xbm.  
- Tham s: path  
- Ví d:  
. Profile  
Để dễ dàng tương tác với các thiết lp thông tin trong trang hồ sơ của người  
dùng, nhóm hàm này đã cung cấp 2 phương thức:  
Profile.setFBML()  
- Mô t: Thiết lp FBML cho hồ sơ của người dùng hoc trang  
Facebook , bao gm: ni dung ca hp thông tin trên nhãn Wall, hp  
thông tin cho nhãn Boxes.  
Sinh viên: Hoàng ThHin  
26  
Lp : K51CHTTT  
Đồ án tt nghip  
ng dng trên nn Facebook  
- Ví d: $facebook->api_client->profile_setFBML(NULL, $user,  
'profile', NULL, NULL, 'profile_main');  
Profile. getFBML()  
- Mô t: Trli FBML ca hp thông tin hiện đang thiết lp cho cu  
hình của người dùng.  
- Ví d:  
$fbml = $facebool->api_client->getFBML($uid);  
. Users  
Facebook API cung cp mt số phương pháp cho phép nhà phát triển ng dng  
truy cp vào mt số thông tin người dùng :  
Users.getInfo()  
- Mô t: Trvthông tin của người dùng cthể  
- Tham s: uids, fields  
- Ví d:  
Users.getLoggedInUser()  
- Mô t: Trvuid của người dùng  
- Ví d:  
. Error codes  
Khi phát trin ng dng, rt có thsxy ra lỗi, Facebook đã cung cp mt  
nhóm API giúp người phát trin ddàng tìm ra li trong quá trình xây dng ng  
dng. Giá trtrli chai dng svà tin nhn.  
2.2.1.4. Data Store API  
Sinh viên: Hoàng ThHin  
27  
Lp : K51CHTTT  
Đồ án tt nghip  
ng dng trên nn Facebook  
Data store API chyếu thiết kế để giúp các nhà phát trin ng dng nhanh  
chóng tìm ra mt giải pháp lưu trữ mrng, có ththeo kp vi sự tăng nhanh ca  
cơ sở dliu ca h. API này cung cấp các phương thức cơ bản như tạo, đọc, xóa ,  
cp nht.  
Data Store API bao gm 3 nhóm cơ bản : Specialized Tables, Distributed  
Tables, Associations, được phân chia vào 5 API riêng bit (User Preference, Object  
Data Definition, Object Data Access, Association Data Definition, and Association  
Data Access).  
. Association : Theo phương pháp tiếp cập cơ sở dliu truyn thng, sử  
dng chsố để tăng tốc độ truy vn. Tuy nhiên phương pháp này lại không  
hiu qutrong mt hthng phân phi vì không có thư mục tập trung để  
đánh chỉ mục. Facebook đã gii quyết vấn đề này vi Association.  
Association có 2 trường và có thlà mt chiu hoc hai chiu  
- Mt chiu: cho phép ng dng liên kết một thông điệp tới người dùng.  
- Hai chiu: Cho phép ng dng liên kết những người nhận thông điệp.  
. Specialized Tables: Mt trong những điểm thun li ca vic sdng Data  
Store API là bng chuyên dụng, được thiết kế và tối ưu hóa để lưu các loại  
dliu cho ng dng và hin nay mi chỉ có User Preference được trin  
khai.  
2.2.1.5. Thư viện khách.  
Thư viện khách cung cp một đối tượng API khách ca Facebook, một đối  
tượng y quyền để chuyn li gọi phương thức thành các yêu cầu đến các máy chủ  
ca Facebook. Nó htrcác ngôn nglp trình như: ActionScript, ASP.Net,  
ASP(VBScript), ColdFusion, C++, C#, D, Emacs Lisp, Lisp, Perl, PHP(4 và 5),  
Python, Ruby, VB.Net và Windows mobile.  
Thư viện khách PHP ca Facebook bao gồm 2 đối tượng chính: Facebook  
(Facebook.php) và FacebookRestClient (facebook_api_php5_restlib.php ) . Lp  
FacebookRestClient tóm tt những tương tác với API ca Facebook. Lp Facebook  
sdụng các phương thức ca lớp FacebookRestClient để tách ra các tương tác phổ  
biến vi Facebook Platform.  
Sinh viên: Hoàng ThHin  
28  
Lp : K51CHTTT  
Đồ án tt nghip  
ng dng trên nn Facebook  
2.2.2. Ngôn ngữ đánh dấu Facebook – FBML.  
2.2.2.1. FBML là gì ?  
FBML là ngôn ngữ đánh dấu do Facebook phát trin, là phn mrng ca  
HTML, được sdụng để hin thcác trang bên trong trang vi nn Facebook. Hu  
hết các thFBML ging ht vi các thHTML và dẫn đến ni dung trình duyt  
ging nhau khi phân tích cú pháp, nhưng FBML cũng cung cấp nhiu thhành vi và  
các thtrích ra thông tin từ các cơ sở dliệu Facebook và đưa nó vào trong nội dung  
ca ng dng. FBML cũng htrcác yếu ttạo style như CSS. Tuy nhiên FBML  
cũng bao gm mt syếu tmrng riêng cho Facebook.  
FBML cho phép xây dng mt ng dng trên nn tng Facebook một cách đy  
đủ. Khi ng dng trvề FBML, đi qua proxy của Facebook, các thFBML sẽ được  
render để trvdng HTML.  
Hình 2.2: Dòng chy thông tin tmáy chủ ứng dụng đến trình duyt của người dùng  
2.2.2.2. Nhóm các thFBML  
Các thẻ FBML được chia thành các nhóm:  
. User/Groups  
. MessageAttachments  
. Editor Display  
. Misc  
. Social Widgets  
. Tools  
. Additional  
Permissions  
. Status Messages  
. PlatformInternationalization  
. Dialog  
. Profile-specific  
Sinh viên: Hoàng ThHin  
29  
Lp : K51CHTTT  

Tải về để xem bản đầy đủ

pdf 78 trang yennguyen 06/05/2025 80
Bạn đang xem 30 trang mẫu của tài liệu "Khóa luận Phát triển ứng dụng trên nền Facebook", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfkhoa_luan_phat_trien_ung_dung_tren_nen_facebook.pdf