Tải bản đầy đủ (.docx) (15 trang)

TÌM HIỂU WEB API VÀ ỨNG DỤNG FACEBOOK API

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (526.17 KB, 15 trang )

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO
ĐỀ TÀI TÌM HIỂU WEB API VÀ ỨNG DỤNG
MÔN:
CÁC CÔNG NGHỆ LẬP TRÌNH HIỆN ĐẠI
FACEBOOK API
Sinh viên thực hiện:
Hoàng Mạnh Phú 1142067
Nguyễn Thanh Loan 1141071
2
BÁO CÁO ĐỀ TÀI TÌM HIỂU: WEB API VÀ ỨNG DỤNG - FACEBOOK API
I. Facebook API
Facebook API là một nền tảng để xây dựng các ứng dụng trên mạng xã hội,
API cho phép thao tác đến các nguồn dữ liệu trên mạng xã hội Facebook,
thông tin tài khoản người dùng, đăng tải và quảng bá thông tin nhanh chóng.
Facebook API sử dụng giao thức RESTful và dữ liệu được trả về dưới dạng
JSON.
1. Graph API
- Ban đầu, facebook sử dụng bộ API là REST Api để phát triển, tuy
nhiên sau đó Facebook đã xây dựng một hệ thống API mới và đặt tên
là Graph API.
- Graph API cung cấp nhiều phương thức hơn, dễ hiểu, dễ sử dụng hơn
so với REST API.
- Graph API cung cấp ba phương thức cơ bản: requesting data (yêu cầu
dữ liệu), posting data (gửi dữ liệu), deleting data (xóa dữ liệu).
 OBJECT
o Mỗi đối tượng trên Facebook đều có một ID riêng và duy nhất.
o Truy vấn thông tin của dối tượng thông qua Graph API bằng liên
kết: ID] với [ID] là ID của đối tượng
cần truy vấn.


VD: ID của Mark Zuckerberg là 4. Kết quả khi truy vấn đường
link là:
o Ngoài ra, đối với user và fanpage, cũng có thể truy vấn qua
đường link sử dụng username:
kết quả trả về tương
tự như truy vấn thông qua ID
VD: username của Mark Zuckerberg là zuck. Kết quả khi truy
vấn đường link tương tự như
trên.
 ACCESS_TOKEN
CCNLTHD | FACEBOOK API 1142067 | 1141071
3
BÁO CÁO ĐỀ TÀI TÌM HIỂU: WEB API VÀ ỨNG DỤNG - FACEBOOK API
o Access token là chuỗi được phát sinh ngẫu nhiên, được cung
cấp một cách tạm thời, sử dụng trong các câu truy vấn trên
facebook, giúp đảm bảo tính bảo mật thông tin.
o Access token của Facebook được phát sinh theo chuẩn Oauth
2.0
 CONNECTIONS
o Mỗi đối tượng trên Facebook đều có liên kết với nhau, gọi
chung là connections. Quan hệ này có thể truy vấn thông qua
liên kết
o Để truy vấn các connections này, khi sử dụng API cần phải cung
cấp chuỗi access_token, vì những dữ liệu này cần được bảo
mật, chỉ khi cung cấp đúng access_token và access_token còn
hiệu lực thì mới truy vấn được dữ liệu.
o VD: Truy vấn danh sách bạn bè của người dùng hiện tại:
/>access_token=[ACCESS_TOKEN]
CCNLTHD | FACEBOOK API 1142067 | 1141071
4

BÁO CÁO ĐỀ TÀI TÌM HIỂU: WEB API VÀ ỨNG DỤNG - FACEBOOK API
o Một số truy vấn khác:
CCNLTHD | FACEBOOK API 1142067 | 1141071
5
BÁO CÁO ĐỀ TÀI TÌM HIỂU: WEB API VÀ ỨNG DỤNG - FACEBOOK API
2. Social Plugins
- Social Plugins là tập hợp những ứng dụng tiện ích mà Facebook đã
xây dựng sẵn với mục đích đem lại sự tương tác giữa Facebook và
website, tăng sức mạnh quảng bá website và giới thiệu sản phẩm.
- Các ứng dụng chính:
o Like button: nhúng nút “Like” của Facebook vào website, khi
người dùng click nút “Like” tại website,
thông tin sẽ được đăng tải lên Facebook
ngay lập tức.
o Send button: tương tự Like button, khi
người dùng click nút “Send” tại website
thì đường dẫn tới website sẽ được share
lên Facebook dưới dạng bài viết, tin nhắn
Facebook hoặc qua email.
o Subcribe button:
nhúng nút “Subcribe” vào
website, giúp cho người dùng có thể
đăng ký theo dõi website nhanh chóng.

o Comment box: tiện ích giúp nhúng khung
bình luận của Facebook vào website. Khi
người dùng muốn bình luận một bài viết
CCNLTHD | FACEBOOK API 1142067 | 1141071
6
BÁO CÁO ĐỀ TÀI TÌM HIỂU: WEB API VÀ ỨNG DỤNG - FACEBOOK API

nào đó, họ chỉ cần đăng nhập với account Facebook là có thể
bình luận, thông tin bình luận cũng sẽ được chia sẻ lên
Facebook.
o Activity Feed: khung tiện ích nhúng vào
website giúp hiển thị những thông tin
được cập nhật trên Fan page của
Facebook lên website.
o Recommendations box: hiển thị danh
sách những Fan page trên facebook,
với mục đích giúp giới thiệu những Fan
page này đến người dùng.
o Recommendations bar: tiện ích cho
phép người dùng có thể “Like” và giới
thiệu nội dung mà họ đang đọc đến bạn bè
của họ trên Facebook.
o Like box: nhúng khung hiển thị danh sách
những users đã từng “Like” Fan page của
website trên Facebook.
o Login button: nút đăng nhập, giúp cho
người dùng có thể đăng nhập website
bằng chính tài khoản Facebook của họ.
o Registration: nút đăng ký, giúp người
dùng có thể đăng ký làm thành viên của
website bằng tài khoản Facebook của họ.

o Facepile: tiện ích hiển thị danh sách
những người đã “Like” trang Fan page,
kèm theo avatar của họ.
- Cách sử dụng: truy cập địa chỉ
/>Sau đó lựa chọn loại plugin cần sử dụng, nhập các dữ liệu cần thiết

vào form của Facebook sau đó copy đoạn mã Javascript HTML5 /
XFBML hoặc IFRAME và nhúng vào website.
3. Facebook FQL
CCNLTHD | FACEBOOK API 1142067 | 1141071
7
BÁO CÁO ĐỀ TÀI TÌM HIỂU: WEB API VÀ ỨNG DỤNG - FACEBOOK API
- FQL là ngôn ngữ truy vấn do Facebook đặt ra, giúp cho developer có
thể truy vấn đến dữ liệu trên Facebook thông qua những câu truy vấn
tương tự như SQL.
- FQL cung cấp một số tính năng mà Graph Api không có, cung cấp cả
những truy vấn lồng nhau.
- VD về FQL:
SELECT uid2 FROM friend WHERE uid1=me()
SELECT name FROM album WHERE owner= me()
- Không giống với SQL, mệnh đề FROM trong câu truy vấn trong FQL
chỉ chứa duy nhất một bảng.
- Truy vấn lồng:
SELECT uid, name, pic_square FROM user WHERE uid
= me()
OR uid IN (SELECT uid2 FROM friend WHERE uid1 =
me())
- Danh sách các table mà Facebook cho phép truy vấn:
/>CCNLTHD | FACEBOOK API 1142067 | 1141071
8
BÁO CÁO ĐỀ TÀI TÌM HIỂU: WEB API VÀ ỨNG DỤNG - FACEBOOK API
CCNLTHD | FACEBOOK API 1142067 | 1141071
9
BÁO CÁO ĐỀ TÀI TÌM HIỂU: WEB API VÀ ỨNG DỤNG - FACEBOOK API
II. Facebook SDK
Facebook SDK giúp cho lập trình viên có thể tích hợp sâu hơn với Facebook

để xây dựng các ứng dụng phức tạp hơn. Sử dụng SDK giúp cho lập trình
viên thao tác với Graph API và các tài nguyên trên Facebook dễ dàng, nhanh
chóng hơn.
Hiện nay Facebook đã xây dựng các SDK cho những nền tảng khác nhau:
- Facebook SDK for JavaScript
- Facebook SDK for PHP
- Facebook SDK for iOS
- Facebook SDK for Android
1. Facebook App
- Để sử dụng được các SDK, lập trình viên cần phải đăng ký và cung
cấp API key, Secret key cho SDK.
- Để có API key và Secret key, lập trình viên phải tạo một App trên
Facebook tại địa chỉ:
/>+ Điền các thông tin được Facebook yêu cầu, nhập mã Captcha
+ Thiết lập URL login, Canvas URL, Page Url
CCNLTHD | FACEBOOK API 1142067 | 1141071
10
BÁO CÁO ĐỀ TÀI TÌM HIỂU: WEB API VÀ ỨNG DỤNG - FACEBOOK API
- Sau khi tạo xong App, hai thông tin cần thiết nhất của App là Api key và
Secert key:
2. Giới thiệu về PHP SDK & Javascript SDK
a) Php SDK
- Địa chỉ download: />- Cách sử dụng:
o Khởi tạo đối tượng $facebook
Thay YOUR_APP_ID và YOUR_APP_SECERT bằng Api key và
Secert key có được lúc tạp App trên Facebook.
CCNLTHD | FACEBOOK API 1142067 | 1141071
11
BÁO CÁO ĐỀ TÀI TÌM HIỂU: WEB API VÀ ỨNG DỤNG - FACEBOOK API
o Cách kểm tra quyền hạn user:

 Mục đích: kiểm tra xem người truy cập ứng dụng đã đăng nhập
Facebook hay chưa và có đồng ý sử dụng App hay không.
 Đoạn mã kiểm tra:
+ Sử dụng hàm $facebook –getUser(); để lấy ID của user hiện
đang đăng nhập Facebook và đang sử dụng App.
+ Nếu $user_id = 0, nghĩa là user chưa đăng nhập hoặc chưa
cấp quyền hạn cho app. Lúc này ứng dụng cần phải chuyển đến
trang đăng nhập của Facebook để user đăng nhập và cấp quyền
hạn cho app.
Trong đó:
 $params là mảng các tham số để facebook khởi tạo
đường link login. Scope là danh sách các quyền hạn mà
app yêu cầu người dùng cho phép (để có thể truy xuất
thông tin). Scope được quy định tại:
/>missions-login-dialog/
 Hàm $facebook -> getLoginUrl($param) là hàm tạo ra link
đến trang login của facebook. Khi người dùng được
chuyển đến link này và đăng nhập thành công, họ sẽ
được yêu cầu cho phép app sủ dụng các quyền hạn định
CCNLTHD | FACEBOOK API 1142067 | 1141071
12
BÁO CÁO ĐỀ TÀI TÌM HIỂU: WEB API VÀ ỨNG DỤNG - FACEBOOK API
nghĩa trong $params[‘scope’]. Sau đó họ sẽ được chuyển
ngược trở lại trang web gán trong $params[‘redirect_uri’]
o Cách truy vấn dữ liệu Gaph API:
 Phương thức $facebook -> api(….); được sử dụng để thực thi
các truy vấn Graph Api và cả FQL.
 Cách lấy thông tin người dùng:
 Để lấy thông tin của một user khác thì cần phải có kèm theo
access_token khi truy vấn.

o Cách gọi hàm FQL
b) Javascript SDK
Thao tác đến Graph API bằng Javascript. Javascript SDK cũng sử dụng
Api key và Secert key, do đó cần tạo và cấu hình App trên Facebook
trước.
- Cách khai báo, khởi tạo đối tượng Facebook:
o Khai báo thêm namespace cho thẻ html
CCNLTHD | FACEBOOK API 1142067 | 1141071
13
BÁO CÁO ĐỀ TÀI TÌM HIỂU: WEB API VÀ ỨNG DỤNG - FACEBOOK API
o Khai báo thẻ trong phần body của file html. Thẻ này là thẻ bắt buộc
phải có để Javascript SDK có thể chạy được.
o Khai báo đoạn mã Javascript khởi tạo đối tượng Facebook, đoạn mã
này phải đặt sau thẻ
- Các phương thức mà Javascript SDK hỗ trợ:
 FB.api() : truy vấn qua Graph API
 FB.getLoginStatus() : lấy trạng thái đăng nhập của user
 FB.getSession() : lấy session đăng nhập của user, trong session sẽ
chứa access_token
 FB.init() : hàm khởi tạo đối tượng Facebook
 FB.login() : đăng nhập
 FB.logout(): đăng xuất
 FB.ui() : tạo ra các hộp thoại của Facebook, như: hộp thoại post
status, hộp thoại share friends…
- Cách truy vấn Graph API
Hàm successCall sẽ được gọi tự động khi hàm FB.api() xử lý thành
công và có kết quả trả về từ server.
- Tạo hộp thoại để post status lên wall:
CCNLTHD | FACEBOOK API 1142067 | 1141071
14

BÁO CÁO ĐỀ TÀI TÌM HIỂU: WEB API VÀ ỨNG DỤNG - FACEBOOK API
III. Các vấn đề khác:
- Nhúng Facebook app vào fanpage
- Facebook Ads API
- Facebook Open Graph
- Faceook iOS SDK
- Faceook Android SDK
IV. Xây dựng ứng dụng Demo
1. Mô tả ứng dụng:
- Tên ứng dụng: “Thỉnh Thầy”
- Mô tả: là một ứng dụng giải trí vui, khi người dùng nhập một câu hỏi,
câu hỏi sẽ được đưa lên server xử lý và trả về câu trả lời. Câu trả lời
có tính chất bao quát hầu hết câu hỏi và được random ngẫu nhiên.
Sau khi nhận được câu trả lời, người dùng có thể đăng câu câu trả lời
kèm câu hỏi lên trên tường của mình.
- Địa chỉ ứng dụng: />- Nền tảng xây dựng: Php + Jquery + Facebook Php SDK + Facebook
Javascript SDK
2. Hình ảnh ứng dụng:
CCNLTHD | FACEBOOK API 1142067 | 1141071
15
BÁO CÁO ĐỀ TÀI TÌM HIỂU: WEB API VÀ ỨNG DỤNG - FACEBOOK API
V. Kết luận:
- Facebook ngày càng trở nên phổ biến, việc sử dụng Facebook APIs để phát
triển, tạo ra các ứng dụng mạng xã hội đem lại rất nhiều lợi ích cho doanh
nghiệp.
- Facebook sử dụng hệ thống API riêng, xây dựng dựa trên RESTful
webservice và đặt tên là Graph API.
- Facebook đã xây dựng sẵn rất nhiều bộ SDK, giúp cho lập trình viên sử dụng
một cách tiện lợi và nhanh chóng, thao tác đến Graph API dễ dàng.
- Để sử dụng được bộ SDK thì lập trình viên cần tạo một App trên Facebook để

có được API key và Secert key.
VI. Tài liệu tham khảo:
- Faceook APIs reference:
/>- Facebook SDKs reference:
/>- Facebook Social Plugins:
/>- Facebook Developer Wiki:
/>CCNLTHD | FACEBOOK API 1142067 | 1141071

×