1. Trang chủ
  2. » Công Nghệ Thông Tin

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

50 14 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN ĐỒ ÁN ĐỀ 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 :  Nguyễn Mạnh Hiếu - 17520479 I Tìm hiểu API API gì? API cụm viết tắt Application Programming Interface (giao diện lập trình ứng dụng) Đây giao tiếp phần mềm dùng ứng dụng khác Cũng giống bàn phím thiết bị giao tiếp người dùng máy tính, API giao tiếp phần mềm, ví dụ chương trình hệ điều hành (OS) API OS khác nhau, OS khác thường khơng tương thích với Ví dụ phần mềm Linux khơng thể chạy máy Windows Linux Windows có API khơng giống Mục đích API cung cấp khả truy xuất đến tập hàm hay dùng, ví dụ, hàm để vẽ cửa sổ hay icon hình Các API, hầu hết interfaces, có tính trừu tượng (abstract) Phần mềm muốn cung cấp truy xuất đến thơng qua API cho sẵn, phải thực API Trong nhiều trường hợp, API thường phần SDK, hay software development kit Một SDK bao gồm API cơng cụ/phần cứng, hai thuật ngữ không thay cho Phân loại API 2.1 Hệ thống API tảng web, hay gọi web API Loại API phổ biến, website lớn cung cấp hệ thống API cho phép bạn kết nối, lấy liệu cập nhật liệu vào hệ thống Ví dụ : bạn sử dụng dịch vụ bán hàng trực tuyến Lazada, bạn cần phải thực số tác vụ tạo sản phẩm mới, cập nhật sản phẩm Giả sử bạn có 1000 mặt hàng, việc cập nhật số lượng tồn kho tay vất vả chưa kể nhầm lẫn chủ quan người nhập Lazada cung cấp hệ thống API, từ bạn xây dựng kết nối từ hệ thống bạn sang Lazada thứ (trong có kho hàng, số tồn…) đồng với 2.2 Hệ thống API Hệ điều hành Khái niệm có trước web API, Microsoft cung cấp hệ điều hành Windows tài liệu API đặc tả hàm, phương thức, lời gọi hàm giao thức kết nối cho lập trình viên, giúp lập trình viên tạo phần mềm ứng dụng tương tác trực tiếp với hệ điều hành 2,3 Các API thư viện phần mềm framework API mô tả quy định hành vi mong muốn mà thư viện cung cấp, API có nhiều triển khai khác giúp cho chương trình viết ngơn ngữ sử dụng thư viện viết ngôn ngữ khác API liên quan đến framework framework xây dựng nhiều thư viện thực thi nhiều API khác Tuy nhiên việc sử dụng API framework không giống với thông thường, truy cập đến API xây dựng framework mở rộng nội dung class "cắm" vào (plug) khung tự Kiểm sốt tổng thể luồng ứng dụng nằm ngồi tầm kiểm soát thành phần gọi cách đảo ngược kiểm soát – Inversion of Control Tầm quan trọng API API khớp nối thành phần phần mềm Giả sử bạn có tính cần cung cấp cho module khác phần mềm khác bạn mở API để tác giả module/ phần mềm truy cập vào Ví dụ : thiết bị điện tốn hệ điều hành phần mềm có khả truy cập tới thiết bị phần cứng Do đó, hệ điều hành phải cung cấp API để ghi file, đọc file, đọc liệu… Mỗi ứng dụng hoạt động gọi tới API tương ứng hệ điều hành Khi phần mềm gọi tới API, phần mềm gọi cung cấp liệu đầu vào đòi hỏi liệu đầu từ API không, trường hợp, phần mềm gọi để tiếp tục hoạt động cần phần mềm cung cấp phải thực cam kết qua API Tuy nhiên, thực tế, bạn phải phụ thuộc vào Microsoft Nếu Microsoft đóng API, ứng dụng bạn khơng sử dụng nữa.Tóm lại, người ta thường ví von tầm quan trọng API là: "Nếu khái niệm API khơng cịn trái đất ngừng quay." II Tìm hiểu Facebook API Facebook API ? Facebook API tảng Facebook cung cấp cho người viết ứng dụng để dễ dàng việc tạo ứng dụng đảm bảo người viết ứng dụng không can thiệp sâu vào hệ thống Facebook Thơng qua Facebook API, ta lấy thông tin người dùng danh sách bạn bè, thông tin cá nhân, ảnh profile họ cấp quyền cho ta truy cập trang cá nhân họ Facebook gửi phương thức POST đến máy chủ Facebook API Nó bao gồm số thông số yêu cầu api_key ứng dụng, session_key người dùng đưa 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 yêu cầu Bằng cách tất lời gọi API đảm bảo, Facebook xác minh yêu cầu gửi từ ứng dụng chấp thuận Bạn sử dụng tài khoản Facebook để đăng nhập vào nhiều trang web không Facebook kiểm sốt Để người dùng sử dụng thông tin cá nhân Facebook trang này, điều mạng xã hội cần làm tạo 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" Instagram, WhatsApp hay Quora trang web/ứng dụng "gọi" tới API Facebook Công việc xác thực danh tính Facebook thực hiện, trang web ứng dụng không cần phải nhúng tay vào Sau xác thực xong, Facebook "ném" lại cho trang web ứng dụng gọi tới API gói tin có nội dung "Đây anh Mạnh Hiếu, tài khoản Facebook abcxyz" chẳng hạn Nhờ có API mà Facebook thực tính xác thực hộ dịch vụ khác Facebook Graph API ? 2.1 : Định nghĩa Graph đồ thị Graph sinh để miêu tả quan hệ thực thể Facebook coi mối quan thực thể "Đồ thị xã hội" (Social Graph) Facebook Graph API cách chủ yếu để tải liệu vào lấy liệu từ đồ thị xã hội Facebook Đó HTTP API cấp thấp mà bạn sử dụng để truy vấn liệu, post status, tải lên hình ảnh loạt nhiệm vụ khác 2.2 : Hướng dẫn sử dụng Graph API + Đầu tiên, bạn truy cập vào trang dành cho người phát triển: https://developers.facebook.com/ Nếu bạn chưa có ứng dụng Facebook search cách tạo ứng dụng ( tự tạo ) + Tham khảo cách tạo app : https://thachpham.com/thuthuat/cach-tao-facebook-app.html + Sau tạo xong APP : Đi tới Graph API Explorer cách chọn More > Tools > Graph API Explore truy cập vào link này: https://developers.facebook.com/tools/explorer/ Để ý trang này, bạn thấy có phần quan trọng cần ý: Access Token: Là mã gửi lên server Nếu bạn login tài khoản Facebook giá trị hiển thị mặc định cho tài khoản Với ứng dụng có mã mặc định khác URL gửi lên server để nhận thông tin trả Mặc định /me? fields=id,name,email Sau nhấn thử Submit, bên trái hình, bạn chọn fields tùy thích để test thử Bên phải kết trả sau bạn gửi request CẬP NHẬT SỰ THAY ĐỔI CỬA ỨNG DỤNG FACEBOOK : + Đêm 27/03/2018 , Facebook cho đóng cổng nhiều trang fanpage lớn dịch vụ trực tuyến đồng loạt thông báo cố liên quan đến ứng dụng phát triển tảng Facebook Messenger Việt Nam + Những nguyên nhân cho liên quan đến việc lộ thông tin tài khoản 50 triệu người dùng Facebook động thái cách sửa sai tạm thời Mark Zuckerberg sau CEO Facebook phải lên tiếng xin lỗi trước truyền thơng để xảy scandal lớn lịch sử mạng xã hội Theo đó, Facebook xem xét lại tồn API có để hạn chế lượng liệu thu thập từ người dùng ** Tham khảo : https://fptshop.com.vn/tin-tuc/danhgia/facebook-api-la-gi-tai-sao-gioi-kinh-doanh-online-tai-viet-namlai-dang-nao-loan-vi-platform-nay-68290 - Vì tạo sẵn ỨNG DỤNG TRÊN FACEBOOK, bạn quyền lấy ảnh đại diện , email , id người dùng xài ứng dụng - Đây dịng thơng báo sau cố gọi lệch ngày sinh , thơng tin bạn bè - Bạn liên hệ với Facebook để xin cấp quyền lấy ngày sinh quyền liên quan khác ( facebook đưa ) Nhưng lúc gửi yêu cầu hỗ trợ - Mình yêu cầu xét quyền lấy thơng tin ngày sinh lần bị xét duyệt tháng - Tóm lại : Khi bạn sở hữu ỨNG DỤNG cho riêng ỨNG DỤNG 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 phải xin cấp quyền từ Facebook ) 2.3 Thế có dịch vụ Tăng Like, Tăng Theo Dõi, hay tool hỗ trợ thời điểm 2021 ? - Nói cho dễ hiểu họ điều khiển tài khoản thông qua Ứng dụng đặc quyền Facebook Ứng dụng cấp quyền tất - Sau bạn cung cấp mã token cho người khác , đồng nghĩa người khác điều khiển tài khoản bạn người có tài khoản + mật bạn Vì tuyệt đối khơng cung cấp mã token cho người , website không uy tín - Dưới cho bạn cách để lấy token Ứng Dụng ( để nghịch ngợm ) - Bước : Đăng nhập Tài Khoản Facebook bình thường - Bước : Vơ link : https://m.facebook.com/composer/ocelot/async_loader/? publisher=feed - Bước : Ctrl + F kiếm EAAA ( copy từ EAAA đến \" ) - Bước : Vậy ta có Token Full Quyền EAAAAZAw4FxQIBALZBp3fNEsoZAmBZChPd2uGfUn0iWYZA6Su 4Qyz6vLlUHt4hvAEFiqnXAQajHiBfAQpJX2aGh6gKBSgXTNR1PAgqa3Z CnfR3vqFaahC8pvAzoc8OJKeB0ZByQawV7n4gq7c4aAHIgOvmcAbEM epZBdRNMv6jZBOFb2A423CWECTm 10 Mở file /app/res/values/strings.xml bạn Thêm phần sau:  807731209985250 fb807731209985250 **Thay 8077312099852 id APP bạn50 Mở file /app/manifest/AndroidManifest.xml Thêm thành phần uses-permission sau vào phía sau thành phần application: Thêm thành phần meta-data sau đây, hoạt động Facebook, hoạt động lọc dự định cho Tab tùy chỉnh Chrome vào bên thành phần application: 36 5.Liên kết tên gói lớp mặc định với ứng dụng bạn Cung cấp hash khóa phát hành phát triển cho ứng dụng Để đảm bảo tính xác thực hoạt động tương tác ứng dụng bạn Facebook, bạn cần cung cấp cho chúng tơi hash khóa Android dành cho môi trường phát triển Nếu phát hành ứng dụng, bạn nên thêm hash khóa phát hành Tạo hash khóa phát triển Mỗi mơi trường phát triển Android có hash khóa phát triển  Mac OS Bạn cần có Cơng cụ quản lý khóa chứng (keytool) Bộ cơng cụ phát triển Java Để tạo hash khóa phát triển, mở cửa sổ dòng lệnh chạy lệnh sau đây: keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64 37  Windows Bạn cần có:  Cơng cụ quản lý khóa chứng (keytool) Bộ công cụ phát triển Java  Thư viện OpenSSL dành cho Windows openssl-forwindows Google Code Archive Để tạo hash khóa phát triển, chạy lệnh sau cửa sổ nhắc lệnh thư mục Java SDK: keytool -exportcert -alias androiddebugkey -keystore "C:\Users\USERNAME\.android\debug.keystore" | "PATH_TO_OPENSSL_LIBRARY\bin\openssl" sha1 -binary | "PATH_TO_OPENSSL_LIBRARY\bin\openssl" base64 Lệnh tạo hash khóa gồm 28 ký tự dành riêng cho môi trường phát triển bạn Hãy chép dán hash vào trường bên Bạn cần cung cấp hash khóa phát triển cho môi trường phát triển người làm việc ứng dụng Tạo hash khóa phát hành Bạn phải dùng khóa phát hành để ký dạng số cho ứng dụng Android tải ứng dụng lên cửa hàng Để tạo hash khóa phát hành, chạy lệnh sau Mac Windows để thay bí danh khóa phát hành đường dẫn đến cửa hàng khóa: keytool -exportcert -alias YOUR_RELEASE_KEY_ALIAS -keystore YOUR_RELEASE_KEY_PATH | openssl sha1 -binary | openssl base64 Quá trình tạo chuỗi gồm 28 ký tự để bạn chép dán vào trường bên Đồng thời, xem tài liệu Android để biết cách ký ứng dụng bạn Hash khóa 38 L1O+e7UCSfsbnXK9yMrm04SBfAk=Gỡ 39 40 41 42 Bật đăng nhập lần cho ứng dụng bạn Bật đăng nhập lần Nếu bạn muốn Thơng báo Android khởi chạy ứng dụng, bật đăng nhập lần Thêm nút Đăng nhập Facebook Cách đơn giản nhất để thêm Đăng nhập Facebook vào ứng dụng của bạn là  thêm LoginButton từ SDK. LoginButton là thành phần giao diện người dùng bao phủ  chức năng có trong LoginManager. Khi ai đó nhấp vào nút này, đăng nhập sẽ bắt đầu  với các quyền đã đặt trong LoginManager. Nút này tuân theo trạng thái đăng nhập và  hiển thị văn bản chính xác dựa trên trạng thái xác thực của ai đó Để thêm nút Đăng nhập Facebook, trước tiên hãy thêm nút này vào tệp XML bố cục của bạn: 43 Đăng ký gọi lại Bây giờ, tạo callbackManager để xử lý phản hồi đăng nhập cách gọi CallbackManager.Factory.create callbackManager = CallbackManager.Factory.create(); Nếu thêm nút vào Phân đoạn, bạn phải cập nhật hoạt động để sử dụng phân đoạn Bạn tùy chỉnh thuộc tính Login button đăng ký gọi lại phương thức onCreate() onCreateView() Các thuộc tính bạn tùy chỉnh bao gồm LoginBehavior, DefaultAudience, ToolTipPopup.Style quyền LoginButton Ví dụ: loginButton = (LoginButton) findViewById(R.id.login_button); loginButton.setReadPermissions("email"); // If using in a fragment loginButton.setFragment(this); // Callback registration loginButton.registerCallback(callbackManager, new FacebookCallback() { @Override public void onSuccess(LoginResult loginResult) { // App code } @Override public void onCancel() { // App code } @Override public void onError(FacebookException exception) { // App code } }); 44 Để phản hồi kết đăng nhập, bạn cần đăng ký gọi lại LoginManager LoginButton Nếu bạn đăng ký gọi lại LoginButton khơng cần đăng ký gọi lại Trình quản lý đăng nhập Bạn thêm lệnh gọi lại LoginManager vào hoạt động phương thức onCreate() phân đoạn: callbackManager = CallbackManager.Factory.create(); LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback() { @Override public void onSuccess(LoginResult loginResult) { // App code } @Override public void onCancel() { // App code } @Override public void onError(FacebookException exception) { // App code } }); Nếu đăng nhập thành công, thông số LoginResult có AccessToken quyền cấp bị từ chối gần Bạn không cần registerCallback để đăng nhập thành cơng, bạn chọn làm theo thay đổi mã truy cập với lớp AccessTokenTracker mô tả bên Cuối cùng, phương thức onActivityResult, gọi callbackManager.onActivityResult để chuyển kết đăng nhập đến LoginManager qua callbackManager @Override 45 protected void onActivityResult(int requestCode, int resultCode, Intent data) { callbackManager.onActivityResult(requestCode, resultCode, data); super.onActivityResult(requestCode, resultCode, data); } Mỗi hoạt động phân đoạn mà bạn tích hợp với Đăng nhập Chia sẻ Facebook SDK chuyển tiếp onActivityResult đến callbackManager 10 Kiểm tra trạng thái đăng nhập Ứng dụng bạn có người đăng nhập lần LoginManager đặt AccessToken Profile cho người Facebook SDK lưu liệu tùy chọn chia sẻ đặt đầu phiên Bạn xem người đăng nhập chưa cách kiểm tra AccessToken.getCurrentAccessToken() Profile.getCurrentProfile () Bạn tải AccessToken.getCurrentAccessToken với SDK từ nhớ đệm từ dấu trang ứng dụng ứng dụng bạn khởi chạy nguội Bạn nên kiểm tra tính hiệu lực mã phương thức onCreate Activity: AccessToken accessToken = AccessToken.getCurrentAccessToken(); boolean isLoggedIn = accessToken != null && !accessToken.isExpired(); Sau đó, bạn thực đăng nhập thực sự, chẳng hạn OnClickListener nút tùy chỉnh: LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("public_profile")); 46 11 Bật Đăng nhập tốc hành Với phương thức Đăng nhập nhanh, người dùng đăng nhập tài khoản Facebook họ nhiều thiết bị tảng Nếu người đăng nhập vào ứng dụng bạn Android thay đổi thiết bị, phương thức Đăng nhập nhanh cho phép người đăng nhập tài khoản Facebook họ, thay yêu cầu họ chọn phương thức đăng nhập Điều nhằm tránh tạo tài khoản trùng lặp chí khơng thể đăng nhập Để hỗ trợ thay đổi Android 11, trước tiên, thêm mã sau vào thành phần queries file /app/manifest/AndroidManifest.xml bạn Mã sau cho biết cách bật tính Đăng nhập nhanh LoginManager.getInstance().retrieveLoginStatus(this, new LoginStatusCallback() { @Override pub IV : DEMO sản phẩm Màn hình Login: 47 - Sẽ cho User đăng nhập tài khoản Facebook hay Google có wifi Cịn khơng có wifi khơng cho đăng nhập Màn hình Home: Khi hiển thị lưu data xuống local để khơng có wifi User sử dụng app với data dã lưu xuống local List Categories Details Breeds khơng có hình ảnh khơng có wifi ( nick hình khơng để avatar nên khơng ) 48 Màn hình Account: 49 Thơng tin đăng nhập khách hàng lưu vào https://firebase.google.com/ 50 ... dụng nằm ngồi tầm kiểm sốt thành phần gọi cách đảo ngược kiểm soát – Inversion of Control Tầm quan trọng API API khớp nối thành phần phần mềm Giả sử bạn có tính cần cung cấp cho module khác phần... Nếu Microsoft đóng API, ứng dụng bạn khơng sử dụng nữa.Tóm lại, người ta thường ví von tầm quan trọng API là: "Nếu khái niệm API khơng cịn trái đất ngừng quay." II Tìm hiểu Facebook API Facebook... link này: https://developers.facebook.com/tools/explorer/ Để ý trang này, bạn thấy có phần quan trọng cần ý: Access Token: Là mã gửi lên server Nếu bạn login tài khoản Facebook giá trị hiển thị

Ngày đăng: 18/12/2021, 22:09

Xem thêm:

TỪ KHÓA LIÊN QUAN

Mục lục

    2,3. Các API của thư viện phần mềm hoặc framework

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

    Ví dụ về phản hồi ở định dạng JSON

    3 . Đăng nhập người dùng

    A. Đăng nhập bằng nút Đăng nhập

    B. Đăng nhập bằng hộp thoại Đăng nhập từ JavaScript SDK

    Yêu cầu cấp thêm quyền

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

    Xử lý phản hồi của hộp thoại Đăng nhập

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

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w