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

ĐỒ ÁN TÌM HIỂU API GRAPH FACEBOOK

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 (2.75 MB, 50 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN
ĐỒ ÁN 1

ĐỀ TÀI
TÌM HIỂU API GRAPH FACEBOOK

Lớp: SE121.L11.PMCL
Giảng viên hướng dẫn: Mai Trọng Khang
Thành viên thực hiện :
 Nguyễn Mạnh Hiếu - 17520479

1


2


I . Tìm hiểu về API
1. API là gì?
API là cụm viết tắt của Application Programming Interface (giao
diện lập trình ứng dụng). Đây là một giao tiếp phần mềm được dùng
bởi các ứng dụng khác nhau. Cũng giống như bàn phím là thiết bị
giao tiếp giữa người dùng và máy tính, thì API là giao tiếp phần
mềm, ví dụ như giữa chương trình và hệ điều hành (OS).
API của từng OS là khác nhau, do đó các OS khác nhau thì
thường sẽ khơng tương thích với nhau. Ví dụ những phần mềm trên
Linux không thể chạy được trên máy Windows bởi vì Linux và
Windows có các API khơng giống nhau.
Mục đích chính của một API là cung cấp khả năng truy xuất
đến một tập các hàm hay dùng, ví dụ, hàm để vẽ các cửa sổ hay các


icon trên màn hình. Các API, cũng như hầu hết các interfaces, đều có
tính trừu tượng (abstract). Phần mềm muốn cung cấp truy xuất đến
chính nó thơng qua các API cho sẵn, phải hiện thực API đó. Trong
nhiều trường hợp, một API thường là một phần của bộ SDK, hay
software development kit. Một bộ SDK có thể bao gồm một API cũng
như các cơng cụ/phần cứng, vì thế hai thuật ngữ này khơng thay thế
cho nhau được.

2. Phân loại API
2.1 Hệ thống API trên nền tảng web, hay gọi là web API
Loại API này hiện đang rất phổ biến, các website lớn đều cung
cấp hệ thống API cho phép bạn kết nối, lấy dữ liệu hoặc cập nhật dữ
liệu vào hệ thống.

Ví dụ : nếu bạn sử dụng dịch vụ bán hàng trực tuyến của
Lazada, bạn sẽ cần phải thực hiện một số các tác vụ như tạo
sản phẩm mới, cập nhật sản phẩm mới. Giả sử bạn có 1000
mặt hàng, việc cập nhật số lượng tồn kho bằng tay rất vất vả
chưa kể nhầm lẫn do chủ quan người nhập. Lazada cung cấp
hệ thống API, từ đây bạn có thể xây dựng một kết nối từ hệ
thống của bạn sang Lazada và mọi thứ (trong đó có kho hàng,
số tồn…) sẽ được đồng bộ với nhau.

3


2.2 Hệ thống API trên Hệ điều hành
Khái niệm này có trước cả web API, Microsoft cung cấp các hệ
điều hành Windows cùng các tài liệu API là đặc tả các hàm, phương
thức, lời gọi hàm cũng như các giao thức kết nối cho lập trình viên,

giúp lập trình viên có thể tạo ra các phần mềm ứng dụng có thể
tương tác trực tiếp với hệ điều hành.

2,3. Các API của thư viện phần mềm hoặc framework
API mô tả và quy định các hành vi mong muốn mà các thư viện
cung cấp, một API có thể có nhiều các triển khai khác nhau và nó
cũng giúp cho một chương trình viết bằng ngơn ngữ này có thể sử
dụng thư viện được viết bằng ngơn ngữ khác. API cũng có thể liên
quan đến các framework khi framework được xây dựng trên nhiều
các thư viện và thực thi nhiều các API khác nhau. Tuy nhiên việc sử
dụng API trên framework không giống với thông thường, truy cập
đến các API được xây dựng trong framework sẽ mở rộng nội dung
của nó và các class mới được "cắm" vào (plug) khung tự nó. Kiểm
sốt tổng thể luồng ứng dụng có thể nằm ngồi tầm kiểm soát của
thành phần gọi bằng cách đảo ngược kiểm soát – Inversion of
Control.

3. Tầm quan trọng của API

4


API là khớp nối giữa các thành
phần phần mềm.
Giả sử bạn có một tính năng
cần cung cấp cho module khác
phần mềm khác thì bạn sẽ mở một
API để tác giả của module/ phần
mềm truy cập vào.
Ví dụ : trên các thiết bị điện

tốn thì hệ điều hành là phần mềm
duy nhất có khả năng truy cập tới
các thiết bị phần cứng. Do đó, hệ điều hành sẽ phải cung cấp API để
ghi file, đọc file, đọc dữ liệu…. Mỗi ứng dụng khi hoạt động sẽ gọi tới
API tương ứng của hệ điều hành.
Khi một phần mềm gọi tới API, phần mềm gọi có thể cung cấp dữ
liệu đầu vào và địi hỏi dữ liệu đầu ra từ API hoặc khơng, nhưng
trong mọi trường hợp, phần mềm gọi để có thể tiếp tục hoạt động
thì nó cần phần mềm cung cấp phải thực hiện những gì đã cam kết
qua API.
Tuy nhiên, trên thực tế, bạn phải phụ thuộc vào Microsoft. Nếu
Microsoft đóng API, ứng dụng của bạn sẽ khơng sử dụng được
nữa.Tóm lại, người ta thường ví von tầm quan trọng của API là: "Nếu
khái niệm API khơng cịn nữa thì trái đất này sẽ ngừng quay."

II . Tìm hiểu về Facebook API
1 . Facebook API là gì ?
Facebook API là nền tảng do Facebook cung cấp cho người viết
ứng dụng để dễ dàng trong việc tạo ứng dụng và đảm bảo người viết
ứng dụng không can thiệp quá sâu vào hệ thống của Facebook.
Thơng qua Facebook API, ta có thể lấy được thông tin về người
dùng như là danh sách bạn bè, thông tin cá nhân, ảnh profile.... nếu
như họ cấp quyền cho ta truy cập trang cá nhân của họ.
5


Facebook sẽ gửi một phương thức POST đến máy chủ Facebook
API. Nó bao gồm một số các thơng số u cầu như api_key của ứng
dụng, session_key của người dùng đưa ra 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.
Bạn có thể sử dụng tài khoản Facebook của mình để đăng nhập
vào rất nhiều trang web khơng do Facebook kiểm sốt. Để người
dùng của mình có thể sử dụng thơng tin cá nhân Facebook trên các
trang này, điều duy nhất mạng xã hội này cần làm là tạo ra một API
đăng nhập tài khoản Facebook. Mỗi lần bạn click vào nút "Đăng
nhập với Facebook" trên Instagram, WhatsApp hay Quora thì các
trang web/ứng dụng này sẽ "gọi" tới API của Facebook. Công việc
xác thực danh tính sẽ được Facebook thực hiện, các trang web và
các ứng dụng không cần phải nhúng tay vào. Sau khi xác thực xong,
Facebook sẽ "ném" lại cho các trang web và ứng dụng gọi tới API của
mình trên một gói tin có nội dung đại loại như "Đây là anh Mạnh
Hiếu, tài khoản Facebook là abcxyz" chẳng hạn.
Nhờ có API mà Facebook có thể thực hiện tính năng xác thực
hộ các dịch vụ khác.

2 . Facebook Graph API là
gì ?
2.1 : Định nghĩa
Graph ở đây chính là đồ thị.
Graph sinh ra để miêu tả quan
hệ giữa các thực thể.
Facebook coi các mối quan
giữa các thực thể như là một "Đồ
thị xã hội" (Social Graph).
Facebook Graph API là cách chủ yếu để tải dữ liệu vào và lấy
dữ liệu ra từ đồ thị xã hội của Facebook. Đó là một HTTP API cấp
thấp mà bạn có thể sử dụng để truy vấn dữ liệu, post status, tải lên

hình ảnh và một loạt các nhiệm vụ khác.
2.2 : Hướng dẫn sử dụng Graph API
+ Đầu tiên, bạn hãy truy cập vào trang dành cho người phát
triển: />6


Nếu bạn chưa có ứng dụng trên Facebook thì có thể search
cách tạo ứng dụng nhé. ( hiện mình đã tự tạo 1 cái ).
+ Tham khảo cách tạo app : />
+ Sau khi tạo xong APP :
Đi tới Graph API Explorer bằng cách chọn More > Tools >
Graph API Explore hoặc truy cập vào link này:
/>
Để ý trong trang này, bạn sẽ thấy có 4 phần quan trọng cần chú ý:
1. Access Token: Là mã gửi lên server. Nếu bạn đang login 1 tài
khoản Facebook thì giá trị này sẽ được hiển thị mặc định cho
tài khoản đó. Với từng ứng dụng sẽ có mã mặc định khác nhau.
2. URL gửi lên server để nhận thông tin trả về. Mặc định là /me?
fields=id,name,email
3. Sau khi nhấn thử Submit, ở bên trái màn hình, bạn có thể
chọn fields tùy thích để test thử.
4. Bên phải ở giữa là kết quả trả về sau khi bạn gửi request.
7


CẬP NHẬT SỰ THAY ĐỔI CỬA ỨNG DỤNG
FACEBOOK :
+ Đêm 27/03/2018 , Facebook đã cho đóng các cổng nhiều
trang fanpage lớn và dịch vụ trực tuyến đồng loạt thông báo về
sự cố liên quan đến những ứng dụng phát triển trên nền tảng

Facebook và Messenger ở Việt Nam.
+ Những nguyên nhân đầu tiên được cho là liên quan đến việc
lộ thông tin tài khoản của hơn 50 triệu người dùng Facebook và
động thái trên là cách sửa sai tạm thời của Mark Zuckerberg sau
khi CEO Facebook phải lên tiếng xin lỗi trước truyền thơng vì để
xảy ra scandal lớn nhất trong lịch sử mạng xã hội này. Theo đó,
Facebook đang xem xét lại tồn bộ các API hiện có để hạn
chế lượng dữ liệu thu thập được từ người dùng.
** Tham khảo : />
-

Vì thế bây giờ khi tạo sẵn 1 ỨNG DỤNG TRÊN
FACEBOOK, bạn chỉ được quyền lấy ảnh đại diện ,

email , id người dùng khi xài ứng dụng.
-

Đây là dịng thơng báo sau khi mình vẫn mình cố gọi những
lệch về ngày sinh , và thông tin bạn bè.

8


-

Bạn cũng có thể liên hệ với Facebook để xin cấp quyền lấy
ngày sinh và các quyền liên quan khác ( đây là facebook
đưa ) . Nhưng đây là lúc mình gửi yêu cầu hỗ trợ

-


Mình yêu cầu được xét quyền lấy thơng tin ngày sinh lần 2
thì bị xét duyệt hơn 2 tháng.

-

Tóm lại : Khi bạn sở hữu 1 ỨNG DỤNG cho riêng mình thì
ỨNG DỤNG này chỉ được quyền lấy thông tin Avatar người
dùng , email , tên , id người sử dụng . ( còn muốn mở rộng
thì phải xin cấp quyền từ Facebook ).

2.3 Thế tại sao vẫn có các dịch vụ Tăng Like, Tăng Theo Dõi,
hay các tool hỗ trợ cho tới thời điểm hiện tại 2021 ?

9


- Nói cho dễ hiểu là họ sẽ điều khiển tài khoản thông qua Ứng
dụng đặc quyền của Facebook. Ứng dụng này được cấp quyền hầu
như tất cả.

- Sau khi bạn cung cấp mã token cho người khác , đồng nghĩa
người khác nó có thể điều khiển tài khoản bạn như 1 người đang có
tài khoản + mật khẩu của bạn vậy đó. Vì vậy tuyệt đối khơng cung
cấp các mã token cho những người , những website không uy tín.

- Dưới đây mình sẽ chỉ cho bạn cách để lấy token

của Ứng Dụng này ( để nghịch ngợm ).


- Bước 1 : Đăng nhập Tài Khoản Facebook như bình thường
- Bước 2 : Vô link này :
/>publisher=feed
- Bước 3 : Ctrl + F kiếm EAAA ( copy từ EAAA đến \" )
- Bước 4 : Vậy là ta đã có Token Full Quyền
EAAAAZAw4FxQIBALZBp3fNEsoZAmBZChPd2uGfUn0iWYZA6Su
4Qyz6vLlUHt4hvAEFiqnXAQajHiBfAQpJX2aGh6gKBSgXTNR1PAgqa3Z
CnfR3vqFaahC8pvAzoc8OJKeB0ZByQawV7n4gq7c4aAHIgOvmcAbEM
epZBdRNMv6jZBOFb2A423CWECTm
10


+ Đây là clone của mình để khơng cần bảo mật mã này

- Bắt đầu với 1 graph từ facebook do mình sưu tầm
được :
Chức năng : Tự động bình luận vào 1 bài viết bất kì được dùng
cho hệ seeding trên facebook hiện tại.
/>method=post&message={$msg}&access_token={$token}
-

$id : Id bài viết bạn muốn cmt vào
$msg : nội dung cmt
$token : token có quyền bình luận
Bạn tự thay thế thơng tin vào các trường đó để điều khiển
nick chủ token.
Đây là demo mình đã chạy thử :

- Mình đã tự xây dựng 1 đoạn code nhỏ để chạy 1 ứng
dụng UP TOP bài viết trong các hội nhóm để bài viết của

mình chống trơi:
Link : />- Cịn rất nhiều graph hay, bạn có thể tự tìm kiếm để
nghịch ngợm hoặc làm các tool hỗ trợ người dùng cho
nhanh.

11


III. Tìm hiểu về phương thức Đăng nhập bằng
Facebook.
1. Tổng quan
Phương thức Đăng nhập bằng Facebook là cách thức nhanh
chóng và thuận tiện để mọi người tạo tài khoản và đăng nhập ứng
dụng của bạn trên nhiều nền tảng. Tính năng này có trên iOS,
Android, web, ứng dụng dành cho máy tính và các thiết bị như TV
thơng minh, thiết bị kết nối Internet. Phương thức Đăng nhập bằng
Facebook cho phép 2 trường hợp, đó là xác thực và yêu cầu
quyềntruy cập dữ liệu của mọi người. Bạn có thể sử dụng Đăng nhập
bằng Facebook chỉ để xác thực hoặc để xác thực và truy cập dữ liệu.

2. Trường hợp sử dụng
Đăng nhập Facebook được dùng cho các trải nghiệm sau:
2.1 Tạo tài khoản
Đăng nhập Facebook cho phép mọi người tạo tài khoản nhanh
chóng và dễ dàng trong ứng dụng của bạn mà khơng phải đặt (và có
khả năng qn sau đó) mật khẩu. Trải nghiệm đơn giản và thuận
tiện này dẫn đến chuyển đổi cao hơn. Sau khi ai đó tạo tài khoản
trên một nền tảng, họ có thể đăng nhập ứng dụng—thường bằng
một lần nhấp duy nhất—trên tất cả các nền tảng khác của bạn. Địa
chỉ email được xác thực nghĩa là bạn có thể tiếp cận người đó để thu

hút lại họ vào thời điểm khác.
2.2 Cá nhân hóa
Trải nghiệm được cá nhân hóa hấp dẫn hơn và dẫn đến tỷ lệ
giữ chân cao hơn. Với phương thức Đăng nhập Facebook, bạn có thể
truy cập thơng tin phức tạp hoặc khó thu thập qua mẫu đăng ký của
chính mình. Thậm chí việc nhập ảnh đại diện của ai đó từ Facebook
cũng mang lại cho họ cảm giác kết nối mạnh mẽ hơn với ứng dụng
của bạn.

3. Tính năng
3.1 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 và ả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

12


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.
3.2 Đăng nhập trên nhiều nền tảng
Đăng nhập Facebook có trên các nền tảng ứng dụng dành cho
thiết bị di động và máy tính phổ biến nhất. Mọi người tạo tài khoản
bằng Facebook trên một nền tảng có thể đăng nhập nhanh chóng và
dễ dàng vào ứng dụng của bạn trên nền tảng khác. Một người có
cùng một ID người dùng ở mọi nơi nên họ có thể tiếp tục trải nghiệm
trong ứng dụng của bạn ở nơi họ rời khỏi. Phương thức Đăng nhập
bằng Facebook khả dụng trêniOS, Android, Web đối với các ứng dụng
dành cho máy tính cũng như các thiết bị như TV thông minh và thiết

bị kết nối Internet
3.3 Hoạt động cùng với hệ thống tài khoản hiện có
Phương thức Đăng nhập bằng Facebook bổ sung cho hệ thống
tài khoản hiện có của bạn. Bên cạnh email, SMS hoặc các lựa chọn
khác về thông tin đăng nhập xã hội, phương thức này mang lại cho
mọi người tùy chọn đăng nhập bằng Facebook. Nếu địa chỉ email bạn
nhận được từ phương thức Đăng nhập bằng Facebook khớp với địa
chỉ đã có trong hệ thống của mình, bạn có thể đăng nhập người đó
vào tài khoản hiện có của họ mà khơng cần thêm mật khẩu.
3.4 Quyền cơ bản
Đăng nhập bằng Facebook hỗ trợ nhiều quyền xác định loại
thông tin mọi người chọn chia sẻ với ứng dụng của bạn. Điều này
nghĩa là bạn có khả năng kiểm sốt chính xác điều mình u cầu và
mọi người có thể kiểm sốt chính xác điều họ chọn phê duyệt.
Mọi người có khả năng kiểm soát điều họ chia sẻ
Trải nghiệm tuyệt vời bắt đầu bằng việc cấp cho mọi người
quyền kiểm soát. Với Đăng nhập Facebook, mọi người có thể chọn
thơng tin họ chia sẻ với ứng dụng của bạn. Họ vẫn có thể có được lợi
ích khi đăng nhập bằng Facebook ngay cả khi họ cảm thấy không
thoải mái khi cấp quyền truy cập vào thơng tin nhất định. Sau đó,
ứng dụng của bạn có thể u cầu lại thơng tin này sau khi bạn đã
giải thích cách trải nghiệm của người đó sẽ được cải thiện.
3.5 Ủy quyền từng bước
Đăng nhập Facebook hỗ trợ ủy quyền từng bước—bạn không
cần phải yêu cầu trước tất cả thơng tin mình muốn—bạn có thể u
cầu theo thời gian. Điều này nghĩa là mọi người có thể tạo tài khoản
13


trong ứng dụng của bạn nhanh chóng và dễ dàng—và khi trải

nghiệm của họ với ứng dụng sâu sắc hơn, bạn có thể u cầu thêm
thơng tin để nâng cao trải nghiệm hơn nữa.
3.6 Đăng nhập nhanh
Với Đăng nhập nhanh, người dùng có thể đăng nhập bằng tài
khoản Facebook của họ trên nhiều thiết bị và nền tảng. Nếu một
người đã đăng nhập trước vào ứng dụng trên nền tảng bất kỳ, thì
bạn có thể sử dụng Đăng nhập nhanh để cho phép người đó đăng
nhập bằng tài khoản Facebook của họ trên Android thay vì yêu cầu
họ chọn một phương pháp đăng nhập (đơi khi có thể tạo ra các tài
khoản trùng lặp hoặc thậm chí là khơng thể đăng nhập được).

4. Quy trình xác thực bằng Facebook
Để xác thực bằng facebook chúng ta sẽ trải qua 4 bước cơ bản
như sau:

1. Đầu tiên, từ trang web của mình, chúng ta yêu cầu người dùng
cho phép truy cập vào thông tin của người dùng (Từ thông tin
này ta sẽ dùng để đăng nhập vào hệ thống). Thực ra ở bước
này ta sẽ chuyển hướng người dùng đến trang xác thực của
facebook.
2. Tiếp theo, người dùng sẽ xác nhận và cung cấp cho ta các
quyền để truy cập vào thông tin của người dùng.

3. Sau đó, Facebook sẽ chuyển hướng người dùng về lại trang
web của ta cùng với thông tin về quyền truy cập mà người
dùng đã cho phép.

4. Từ thông tin facebook trả về, ta sẽ gọi các hàm API của
facebook để lấy thông tin của người dùng như user name,
email…


** Với những thơng tin đã có được, ta tiến hành đăng nhập cho
người dùng ( chẳng hạn lưu vào session rằng người dùng đã đăng

14


nhập), nếu muốn ta có thể sử dụng thơng tin người dùng để lưu
vào database.

Em đã hệ thống các bước trên lại thành sơ đồ đơn giản như sau:

15


IV. Xây dựng ứng dụng hoặc website về
phương thức đăng nhập bằng Facebook.
1 .Website
Trước khi bắt đầu
Bạn sẽ cần có:
-

Một tài khoản nhà phát triển trên Facebook
Một Ứng dụng Facebook đã đăng ký và được định cấu
hình Cài đặt cơ bản ( mình đã có để link hướng dẫn phía trên
)

Bước 1 : Vào link : để
chọn APP cho việc đăng nhập.


Đây là ứng dụng của mình với ID : 807731209985250

Bước 2 : Sau khi bấm chọn ứng dụng, Facebook sẽ chuyển
bạn đến một trang khác. Bạn nhìn ở góc phải chọn Cài Đặt - >

Chọn thơng tin cơ bản
16


17


Bước 3 : Chúng ta sẽ được hiển thị 1 trang như này :

+
ID ứng dụng : sẽ cố định
+
Khóa bí mật : sẽ dùng đến
+
Tên hiển thị : Tên ứng dụng của bạn(ở đây mình ghi
tạm là App )
+
Miền ứng dụng : bạn sẽ điền tên miền website bạn
muốn đăng nhập bằng FB ( ở đây của mình là
)
+
Email liên hệ : điền email thật đang sử dụng
+
Biểu tưởng Ứng dụng : yêu cầu ảnh 1024 x 1024


18


Bước 4 : Xây dựng về phần code
1. Nhập URL chuyển hướng của bạn trong Bảng điều
khiển ứng dụng
Trong Bảng điều khiển ứng dụng, hãy chọn ứng dụng của bạn
và cuộn tới Thêm sản phẩm Nhấp vào Thiết lập trong thẻ Đăng nhập
bằng Facebook. Chọn Cài đặt trong bảng điều hướng bên trái và
trong Cài đặt OAuth ứng dụng, nhập URL chuyển hướng vào trường

URI chuyển hướng OAuth hợp lệ để ủy quyền thành công.

2. Kiểm tra trạng thái đăng nhập của một người
Bước đầu tiên khi trang web tải là xác định xem người dùng đã đăng
nhập vào trang web của bạn thông qua phương thức Đăng nhập
bằng Facebook hay chưa. Một lệnh gọi đến FB.getLoginStatus sẽ kích
hoạt lệnh gọi đến Facebook để lấy trạng thái đăng nhập. Sau đó,
Faceook gọi hàm gọi lại của bạn bằng các kết quả đó.
Bước đầu tiên khi trang web tải là xác định xem người dùng đã
đăng nhập vào trang web của bạn thông qua phương thức Đăng
nhập bằng Facebook hay chưa. Một lệnh gọi
đến FB.getLoginStatus sẽ kích hoạt lệnh gọi đến Facebook để lấy
trạng thái đăng nhập. Sau đó, Faceook gọi hàm gọi lại của bạn bằng
các kết quả đó.

19


Ví dụ về lệnh gọi

FB.getLoginStatus(function(response) {
statusChangeCallback(response);
});
Ví dụ về phản hồi ở định dạng JSON
{
status: 'connected',
authResponse: {
accessToken: '{access-token}',
expiresIn:'{unix-timestamp}',
reauthorize_required_in:'{seconds-until-token-expires}',
signedRequest:'{signed-parameter}',
userID:'{user-id}'
}
}
Loại Statu
s

Mô tả

connected

Người dùng đăng nhập Facebook và đã đăng nhập
trang web của bạn.

not_authori
zed

Người dùng đăng nhập Facebook nhưng chưa
đăng nhập trang web của bạn.


unknown

Người dùng chưa đăng nhập Facebook nên bạn
20


Loại Statu
s

Mô tả

không biết họ đã đăng nhập trang web của bạn
hay chưa. Hoặc FB.logout() đã được gọi trước, do
đó, không thể kết nối với Facebook.
status chỉ định trạng thái đăng nhập của người dùng trang
web. status có thể là một trong những trường hợp sau:
Nếu trạng thái là connected, thì phản hồi sẽ trả về các thơng
số authResponse sau đây:
Thông
số authResponse

Giá trị

accessToken

Mã truy cập của người dùng trang web.

expiresIn

Dấu thời gian UNIX khi mã truy cập hết hạn.

Sau khi mã truy cập hết hạn, thì người dùng
cần đăng nhập lại.

reauthorize_required
_in

Khoảng thời gian trước khi phiên đăng nhập
hết hạn (tính bằng giây) và người dùng cần
đăng nhập lại.

signedRequest

Một thông số đã ký chứa thông tin về người
dùng trang web.

userID

ID của người dùng trang web.

JavaScript SDK tự động phát hiện trạng thái đăng nhập nên bạn
không cần thực hiện bất kỳ điều gì để kích hoạt hành vi này.
3 . Đăng nhập người dùng
Nếu người dùng mở trang web nhưng chưa đăng nhập hoặc
chưa đăng nhập vào Facebook, thì bạn có thể sử dụng hộp thoại
Đăng nhập để nhắc họ thực hiện cả hai việc đó. Nếu họ chưa đăng

21


nhập Facebook thì trước tiên, họ sẽ được nhắc đăng nhập ứng dụng

này, sau đó sẽ được nhắc đăng nhập trang web của bạn.
Có 2 cách để đăng nhập người dùng:


Nút Đăng nhập bằng Facebook



Hộp thoại Đăng nhập từ JavaScript SDK

22


A. Đăng nhập bằng nút Đăng nhập
Để sử dụng Nút Đăng nhập bằng Facebook, hãy sử dụng Bộ cấu hình
plugin để tùy chỉnh Nút đăng nhập và nhận mã.

B. Đăng nhập bằng hộp thoại Đăng nhập từ JavaScript SDK
Để sử dụng nút đăng nhập của chính bạn, hãy kích hoạt hộp
thoại Đăng nhập bằng lệnh gọi tới FB.login().
FB.login(function(response){
// handle the response
});

u cầu cấp thêm quyền
Khi một người nhấp vào nút HTML của bạn, một cửa sổ bật lên hiển thị hộp thoại Đăng 
nhập. Với hộp thoại này, bạn có thể u cầu quyền truy cập vào dữ liệu của người dùng. Thơng 
số scope có thể được chuyển cùng với lệnh gọi hàm FB.login(). Thơng số tùy chọn này là 
một danh sách các quyền (được phân cách bằng dấu phẩy) mà người dùng phải xác nhận để 
cấp cho trang web của bạn quyền truy cập vào dữ liệu của họ.


23


Ví dụ về lệnh gọi
Trong ví dụ sau, người dùng được u cầu đăng nhập nếu trang web của bạn có quyền truy cập
vào trang cá nhân cơng khai và email của họ.

FB.login(function(response) {
// handle the response
}, {scope: 'public_profile,email'});

Xử lý phản hồi của hộp thoại Đăng nhập
Phản hồi, để kết nối hoặc hủy, sẽ trả về đối tượng authResponse cho lệnh gọi lại đã chỉ định khi
bạn thực hiện lệnh gọi FB.login(). Phản hồi này có thể được phát hiện và xử lý 
trong FB.login().
Ví dụ về lệnh gọi

FB.login(function(response) {
if (response.status === 'connected') {
// Logged into your webpage and Facebook.
} else {
// The person is not logged into your webpage or we are unable to tell.
}
});

4. Đăng xuất người dùng
Đăng xuất người dùng khỏi trang web bằng cách đính kèm hàm
JavaScript SDK FB.logout() vào một nút hoặc liên kết.


24


Ví dụ về lệnh gọi
FB.logout(function(response) {
// Person is now logged out
});

Lưu ý: Lệnh gọi hàm này cũng có thể đăng xuất người dùng
khỏi Facebook.
Các trường hợp cần xem xét
1.

Người dùng đăng nhập Facebook, rồi đăng nhập trang web của
bạn. Khi đăng xuất khỏi ứng dụng của bạn, người đó vẫn đang đăng
nhập Facebook.

2.

Người dùng đăng nhập trang web của bạn và đăng nhập
Facebook như một phần trong quy trình đăng nhập của ứng dụng.
Khi đăng xuất khỏi ứng dụng của bạn, người đó cũng đăng xuất
Facebook.

3.

Người dùng đăng nhập trang web khác và đăng nhập Facebook
như một phần trong quy trình đăng nhập của trang web khác rồi
đăng nhập trang web của bạn. Khi đăng xuất khỏi một trong hai
trang web, người đó cũng đăng xuất Facebook.

Ngồi ra, việc đăng xuất trang web của bạn sẽ không thu hồi quyền
mà người dùng đã cấp cho trang web của bạn trong khi đăng nhập.
Bạn phải thu hồi quyền trong một bước riêng biệt. Xây dựng trang
web của bạn theo cách sao cho người dùng đã đăng xuất sẽ khơng
nhìn thấy hộp thoại Đăng nhập khi đăng nhập trở lại.

25


×