Tải bản đầy đủ (.pdf) (10 trang)

Tiểu luận thực tập cơ sở chuyên ngành an toàn thông tin tìm hiểu và sử 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 (352.25 KB, 10 trang )

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 toà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 toà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 toà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 quá trình thực hiện thực tập cơ 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 trong suốt quá
trình chúng em thực hiện và hoàn thành cơ sở chuyên ngành này.
Chúng em cũng xin chân thành cảm ơn quý Thầy, Cô trong khoa An toà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 trong 4 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 để em bước vào đời một cách vững
chắc và tự tin.
Cuối cùng, chúng em 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 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 như xuất hiện lần đầu tiên trong bài viết của Ira W. Cotton,
Cấu trúc dữ liệu và kỹ thuật cho đồ họa máy tính từ xa, được xuất bản năm 1968.
Trong việc xây dựng các ứng dụng, API đơn giản hóa việc lập trình bằng cách trừu
tượng hóa việc triển khai cơ bản và chỉ phơi bày các đối tượng hoặc hành động mà nhà
phát triển cần. Mặc dù giao diện đồ họa cho ứng dụng email có thể cung cấp cho người
dùng nút thực hiện tất cả các bước để tìm nạp và tô sáng email mới, API cho đầu vào /
đầu ra tệp có thể cung cấp cho nhà phát triển chức năng sao chép tệp từ vị trí này sang vị
trí khác mà không cần yêu cầu nhà phát triển hiểu các hoạt động của hệ thống tệp xảy ra
đằng sau hậu trường.

Chuyên đề được thực hiện nhằm mục đích 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 Facebook .
Mục tiêu đặt ra khi thực hiện chuyên đề là:
1. Nắm tổng quan về API, API các mạng xã hội
2. Tìm hiểu về Facebook API;
3. 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, các mục tiêu về cơ bản đã đạt được. Tuy nhiên chính sách
về API Facebook có nhiều thay đổi , thời gian thực hiện tương đối ngắn nên chắc chắn
không tránh khỏi thiếu sót. Rất mong được sự góp ý của các thầy cô, cũng như các bạn
sinh viên để chuyên đề này được hoàn thiện hơ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 và hình vẽ.....................................................................................3
Chương 1. API.............................................................................................................. 1
I. API.......................................................................................................................... 1
1. Khái niệm......................................................................................................... 1
2. Một số loại API................................................................................................ 2
3. Tại sao phải dùng API?....................................................................................2
II. REST API............................................................................................................. 3
1. REST và RESTful API.................................................................................... 3
2. Kiến trúc REST................................................................................................ 3
3. Cách hoạt động.................................................................................................4
III. Kết luận chương 1...............................................................................................5
Chương 2. GRAPH API............................................................................................... 7
I. Gới thiệu Graph API.......................................................................................................... 7
II. Facebook Graph API........................................................................................................ 7

1. Facebook Graph API là gì?...................................................................................... 7
2. Một số thành phần của Facebook Grạph API.......................................................... 7
2.1. HTTP............................................................................................................. 7
2.2. Mã truy cập................................................................................................... 8
2.3. Cấu trúc......................................................................................................... 8
2.4. URL lưu trữ...................................................................................................8
2.5. ID đối tượng.................................................................................................. 8
2.6. Phiên bản....................................................................................................... 9
3. Hướng dẫn sử dụng Facebook Graph API............................................................. 10
III. Kết luận chương 2......................................................................................................... 12
Chương 3. FACEBOOK API..................................................................................... 13
I. API các mạng xã hội............................................................................................... 13
1. Facebook........................................................................................................ 14
2. Twitter............................................................................................................ 14
3. Instagram........................................................................................................14
4. Pinterest..........................................................................................................14
5. Google+..........................................................................................................14
6. LinkedIn......................................................................................................... 14
7. Hatena.............................................................................................................14
II. Facebook API.........................................................................................................14
1. Facebook API là gì?.......................................................................................14
2. Cách thức hoạt động của Facebook API....................................................... 14
3. Một số phương thức của Facebook API........................................................ 15
4. API với FQL.................................................................................................. 17
III. Kiến trúc hệ thống Facebook................................................................................18
1. Mô hình ứng dụng web thông thường........................................................... 18
2. Mô hình ứng dụng web Facebook................................................................. 19
3. Cách thức làm việc.........................................................................................20



IV. Ứng dụng tương lai...............................................................................................21
V. Kết luận chương 3..................................................................................................22
Chương 4. 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
1. Tạo một app bất kì để giao tiếp với Facebook.............................................. 23
2. Chuẩn bị một số thông tin trước khi tạo project............................................24
3. Tạo Project JAVA IDE.................................................................................. 27
4. Chạy Project................................................................................................... 28
IV. Kết luận chương 4................................................................................................ 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 về API

Hình 1.1.2

Minh họa kiến trúc của 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 của 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 quả khi 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 được khi chạy Project


CHƯƠNG 1. API
I. API

1. Khái niệm

API là viết tắt của Application Programming Interface (giao diện lập trình ứng
dụng). Nó là 1 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à một thiết bị giao tiếp giữa ngườI dùng và máy tính, API là 1 giao tiếp
phần mếm chẳng hạn như giữa chương trình và hệ điều hành (HĐH).

Hình 1.1.1
Bộ API của từng HĐH là khác nhau, làm cho các HĐH khác nhau và thường
không tương thích với nhau. Ví dụ những phần mềm trên HĐH Linux không thể chạy
được trên máy Windows bởi vì Linux và Windows có các API hòan tòan khác nhau.
Một trong các 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, là trừu tượng (abstract). Phần mề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 tình huống, 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.
Ví Dụ :Khi sử dụng ứng dụng trên thiết bị di động, ứng dụng sẽ kết nối Internet và
gửi dữ liệu tới máy chủ. Sau đó máy chủ lấy dữ liệu, diễn giải dữ liệu, thực hiện các hành
động cần thiết và gửi dữ liệu trở lại thiết bị của bạn. Ứng dụng giải thích dữ liệu và hiển
thị các thông tin đọc được cho bạn. Và nó được gọi là API.
Để giải thích rõ hơn, tham khảo ví dụ dưới đây:
Thử tưởng tượng bạn đang ở trong một nhà hàng, và menu có 1 loạt các món ăn để
bạn lựa chọn. Nhà bếp là một phần của hệ thống, thực hiện nhiệm vụ chuẩn bị các món
mà bạn đặt. Cái còn thiếu ở đây là người để truyền đạt món ăn mà bạn yêu cầu tới nhà
bếp và mang đồ ăn ra cho bạn. Đó chính là người phục vụ hoặc có thể nói là API. Người
phục vụ sẽ truyền đạt các yêu cầu của bạn tới nhà bếp và mang đồ ăn ra cho bạn.

1



2. Một số loại API
 API xã hội
API phương tiện truyền thông xã hội hoặc API xã hội, cung cấp một cách để các
nhà phát triển xây dựng các ứng dụng giúp tăng cường sử dụng các 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 các nhà phát triển xây dựng các ứng dụng cải
thiện chức năng của một số dịch vụ thương mại điện tử, cung cấp thông tin chi tiết dựa
trên dữ liệu cho các nhà tiếp thị và nhân viên bán hàng muốn giúp bán sản phẩm trên các
trang web thương mại điện tử này. Ví dụ về API thương mại điện tử bao gồm API eBay
và API quảng cáo sản phẩm của Amazon.
 API quản lý người dùng
API quản lý người dùng cung cấp các phương thức để quản lý theo chương trình
quyền của người dùng và chức năng tài khoản người dùng. Các API như vậy đặc biệt hữu
ích cho các doanh nghiệp hoặc tổ chức lớn có cập nhật thường xuyên vào danh sách kiểm
soát truy cập của họ. Hai ví dụ về API quản lý người dùng là API quản lý Google
Analytics và API quản lý người dùng của IBM.
 API liên hệ
API danh bạ thường được sử dụng để xây dựng các ứng dụng quản lý danh sách
liên hệ của người dùng. Ví dụ về hai API liên hệ khác nhau rõ rệt là khung Danh bạ
Apple và Lusha.
 API ngẫu nhiên
API ngẫu nhiên ít hướng đến các ứng dụng làm cho các dịch vụ hiện có nhiều chức năng
hơn và hướng tới việc cho phép các nhà phát triển vui chơi và thử nghiệm.
3. Tại sao phải dùng API?
Bản thân mỗi "phần mềm" buộc phải có nhiều thành phần giao tiếp và tận dụng
lẫn nhau, nếu không mỗi nhà sản xuất ứng dụng hay nhà thiết kế web đều sẽ phải thực
hiện thêm rất nhiều công việc nằm ngoài trọng tâm của họ.
Chính vì vậy nên chúng ta phải dùng API vì API được coi là khớp nối giữa các
thành phần phần mềm, giúp các phần mềm giao tiếp với nhau và tận dụng năng lực của

nhau.

2


II.REST API
Chúng ta thường nghe về REST và RESTful API trong phát triển ứng dụng Web,
nhất là khi viết ứng dụng trải dài từ Web server tới Mobile app. Tuy vậy nhưng bản thân
REST lại không phải là tên 1 kỹ thuật, mà gần với 1 bộ các quy tắc dùng để tạo ra các
API hơn.
1. REST và RESTful API
REST hay ReST (REpresentational State Transfer) là một dạng chuyển đổi cấu
trúc dữ liệu được đề xuất bởi nhà khoa học máy tính Roy Thomas Fielding vào năm
2012.
REST là một kiểu kiến trúc được sử dụng trong việc giao tiếp giữa các máy tính
(máy tính cá nhân và máy chủ của trang web) trong việc quản lý các tài nguyên trên
internet.
REST được sử dụng rất nhiều trong việc phát triển các ứng dụng Web Services sử
dụng giao thức HTTP trong giao tiếp thông qua mạng internet. Các ứng dụng sử dụng
kiến trúc REST này thì sẽ được gọi là ứng dụng phát triển theo kiểu RESTful.
Trên thực tế chúng ta hay sử dụng thuật ngữ REST thay cho RESTful và ngược lại
2. Kiến trúc REST
Kiến trúc REST có 1 số đặc điểm như sau:
 Nhất quán xuyên suốt các API. Ví dụ: luôn luôn sử dụng danh từ số nhiều thay vì
khi số nhiều, khi số ít
 Tồn tại mà không lưu trạng thái (Stateless existence), ví dụ như không sử dụng
session của server. Đây chính là lý do vì sao lại có cụm State Transfer (ST) trong REST.
Tính chất này đảm bảo rằng mỗi khi client submit 1 request, request ấy sẽ bao gồm toàn
bộ các thông tin mà server cần để xử lý request. Đây là điều cần thiết để build 1 ứng dụng
phục vụ lên tới hàng triệu user.

 Sử dụng HTTP status code khi có thể
 Sử dụng URL Endpoint có phân tầng logic
 Đánh version trong URL thay vì trong HTTP Headers

3



×