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.
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: https://graph.facebook.com/[ 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 https://graph.facebook.com/4 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: https://graph.facebook.com/[user_name], 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 https://graph.facebook.com/zuck 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 https://graph.facebook.com/[ID]/[CONNECTION_TYPE] 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: https://graph.facebook.com/me/friends? 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ỉ https://developers.facebook.com/docs/plugins/ 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: http://developers.facebook.com/docs/reference/fql/toc/ 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ỉ: https://developers.facebook.com/apps/?action=create + Đ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: https://github.com/facebook/facebook-php-sdk - 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 [...]... 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à. .. 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...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... 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 o ngược trở lại trang web gán trong $params[‘redirect_uri’] Cách truy vấn dữ liệu Gaph API: Phương thức $facebook. .. 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 o phải có để Javascript SDK có thể chạy được 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( )... 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: https://developers .facebook. com/docs/reference/apis/ Facebook SDKs reference: https://developers .facebook. com/docs/sdks/... 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... 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: https://apps .facebook. com/thinhthayvui Nền tảng xây dựng: Php + Jquery + Facebook. .. 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: https://developers .facebook. com/docs/concepts/login/per missions-login-dialog/ Hàm $facebook. .. https://developers .facebook. com/docs/reference/apis/ Facebook SDKs reference: https://developers .facebook. com/docs/sdks/ Facebook Social Plugins: https://developers .facebook. com/docs/plugins/ Facebook Developer Wiki: http://fbdevwiki.com/wiki /Facebook_ Developer_Wiki CCNLTHD | FACEBOOK API 1142067 | 1141071 . 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. 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 đã. 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