API Facebook là gì? Cách lấy API Facebook từ Plugin 2020

Bài viết này là một tổng hợp toàn diện về API Facebook. Nó sẽ trả lời tất cả các câu hỏi mà bạn thắc mắc như API của Facebook là gì? Tại sao chúng ta nên sử dụng chúng? Làm thế nào để tìm nạp dữ liệu người dùng từ Facebook với sự trợ giúp của API? Chúng ta có thể tạo trò chơi trên Facebook bằng API không?

Để hiểu thêm bài viết mọi vấn đề về API của Facebook, bạn hãy đọc bài viết này nhé.

Chờ chút…..trước khi đi sâu vào các chi tiết cụ thể của API Facebook. Hãy nhanh tìm hiểu khái niệm của chúng ta về API là gì đã nhé.

1. Facebook API là gì?

Facebook API là một nền tảng mà Facebook cung cấp cho lập trình viên dễ dàng trong việc kết nối ứng dụng với Facebook. Nhờ có API mà những lập trình viên ( người tạo ứng dụng ) có thể lấy thông tin về người dùng, group, ảnh….trên Facebook mà họ cần.

Ngoài Facebook ra, những nền tảng API này cũng được những ông lớn như Google, Yahoo, Amazon cung cấp cho lập trình viên, với mục đích là kết nối ứng dụng

2. Định nghĩa về Facebook Graph API

Trích dẫn từ nguồn: https://viblo.asia/p/facebook-graph-api-maGK7mPMlj2

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 Facebook 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.

word image 108

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.

3. Cấu trúc Facebook Graph API

Graph API được đặt tên theo ý tưởng “đồ thị xã hội” – đại diện cho các thông tin trên Facebook. Nó bao gồm:

  1. nodes (nút): là các đối tượng riêng như là người dùng, ảnh, trang cá nhân, bình luận…
  2. edges (cạnh): là các kết nối giữa những đối tượng riêng ở trên, ví dụ như kết nối hình ảnh và trang chứa hình ảnh đó, bình luận và bức ảnh được bình luận…
  3. fields (trường): dữ liệu của đối tượng riêng ở trên, ví dụ như tên, ngày sinh của người dùng, tên trang…

Vì vậy mà chúng ta sử dụng Graph API là để:

  1. Sử dụng nodes để lấy dữ liệu về đối tượng cụ thể.
  2. Sử dụng edges để lấy tập hợp các đối tượng khác được kết nối với node.
  3. Sử dụng fileds để chỉ định dữ liệu mà bạn muốn có trong phản hồi từ Facebook.

3.1.HTTP

Graph API dựa trên HTTP nên API này hoạt động với bất cứ ngôn ngữ nào có thư viện HTTP, chẳng hạn như cURL và urllib. Bạn cũng có thể sử dụng Graph API ngay trong trình duyệt của mình.

Ví dụ: https://graph.facebook.com/facebook/picture?redirect=false tương đương với thực hiện yêu cầu cURL sau:

curl -i -X GET

“https://graph.facebook.com/facebook/picture?redirect=false&access_token={valid-access-token-goes-here}”

3.2. Access token (mã truy cập)

Bạn có thể nhận thấy tham số access_token trong yêu cầu ở URL trên. Hầu hết các yêu cầu của Graph API đều yêu cầu access token và cách dễ nhất để lấy access token là bắt người dùng đăng nhập Facebook từ ứng dụng của bạn.

3.3. URL lưu trữ

Hầu như tất cả các yêu cầu đều được chuyển đến URL lưu trữ graph.facebook.com. Chỉ có video tải lên sử dụng graph-video.facebook.com.

3.4. Objects ID

Mỗi node có một ID duy nhất để truy cập thông qua Graph API. Để có thông tin về node, bạn phải truy vấn trực tiếp đến ID của node đó.

GET

graph.facebook.com /{node-id}

Nếu muốn lấy dữ liệu cụ thể (fields) về một node, bạn có thể thêm tham số fields và chỉ định trường mà mình muốn có trong phản hồi trả về. Chẳng hạn bạn muốn lấy email của một đối tượng (node) thì bạn cần truy vấn như sau:

GET

graph.facebook.com /{node-id}?fields=email

Hầu hết các node đều có edges (cạnh). Nó có thể trả về tập hợp các đối tượng được kết nối với node đó. Để truy vấn một cạnh, bạn có thể sử dụng cả ID node và tên cạnh. Ví dụ bạn muốn truy vấn cạnh photos của node:

GET

graph.facebook.com/{node-id}/photos

Một số node cho phép bạn cập nhật trường bằng thao tác POST. Ví dụ nếu bạn là admin của trang Facebook, bạn có thể cập nhật trường descriptions như sau:

POST

graph.facebook.com /{node-id}?description=haha

Bạn cũng có thể xóa 1 node bằng cách thực hiện thao tác DELETE trên ID node:

DELETE

graph.facebook.com/{node-id}

4.Cách hoạt động của mã

Trích dẫn từ nguồn: https://developers.facebook.com/docs/graph-api/using-graph-api

Mã truy cập tuân theo giao thức OAuth 2.0. Với OAuth 2.0, các thực thể như: người dùng hoặc trang có thể ủy quyền mã. Thông thường, điều này được thực hiện thông qua giao diện web. Sau khi được ủy quyền, ứng dụng có thể sử dụng các mã đó để truy cập thông tin cụ thể.

Ví dụ: ứng dụng này yêu cầu người dùng cấp quyền truy cập vào ảnh, video và địa chỉ email của người dùng:

word image 109

Như bạn thấy, đây là một giao diện Facebook. người dùng vừa sử dụng giao diện này để đăng nhập vào tài khoản của họ. Qua đó, chúng tôi có thể xác thực được ndùng.

Nếu người dùng tiếp tục, chúng tôi sẽ đổi mã cũ (mã Ứng dụng) lấy mã mới (mã người dùng). Sau đó, ứng dụng có thể dùng mã người dùng mới để tạo yêu cầu API Đồ thị, nhưng chỉ có thể truy cập ảnh, video và địa chỉ email của người dùng cụ thể đó.

Đây là một thuộc tính quan trọng của mã truy cập. ID người dùng và ứng dụng đều được mã hóa trong chính mã đó (trong số những mã khác) và chúng tôi sử dụng những ID đó để theo dõi dữ liệu nào mà người dùng cho phép ứng dụng truy cập

5. Ai cần API Facebook nhất

API Facebook không chỉ giúp kết nối ứng dụng Facebook với người dùng, mà nó còn giúp content website tự động đăng bài lên các mạng xã hội một cách nhanh chóng, tiện lợi mà không mất quá nhiều thời gian.

Dưới đây chúng tôi hướng dẫn các bạn lấy API Facebook thông qua Plugin Social Auto Poster mà không cần quá nhiều thời gian. Không cần can thiệp đến mã Javacrips..hoặc những thao tác khó khăn khác.

=>> Như vậy những đối tượng như quản trị website, content marketing, hoặc content web đều rất cần đến API Facebook này.

Nếu các bạn không muốn sử dụng Plugin để lấy, vậy các bạn có thể đọc bài này nhé. https://towardsdatascience.com/how-to-use-facebook-graph-api-and-extract-data-using-python-1839e19d6999

6. Cách lấy API Facebook bằng Plugin Social Auto Poster

Để tạo Ứng dụng Facebook, hãy truy cập: http://developers.facebook.com/

Bước 1:

Nhấp vào liên kết “Tạo ứng dụng mới / Thêm ứng dụng mới”.

word image 110

Lưu ý: Bạn cần sử dụng Tài khoản Facebook cá nhân để tạo Ứng dụng. Tài khoản doanh nghiệp sẽ không hoạt động. Tài khoản cá nhân của bạn cần phải là tài khoản Facebook đã được xác minh. 

Nếu tài khoản của bạn chưa được xác minh, bạn sẽ nhận được tin nhắn văn bản từ Facebook để xác minh tài khoản của mình. Vì vậy, hãy đảm bảo rằng bạn đã đặt số điện thoại di động trong tài khoản của mình, nếu không, bạn sẽ không thể tạo Ứng dụng.

Bước 2:

Nhập Tên hiển thị ứng dụng và email liên hệ và nhấp vào “Tạo ID ứng dụng”.

word image 111

Sau khi bạn nhấp “Tạo ID Ứng Dụng”, ngay lập tức bạn sẽ chuyển đến Dasboard như sau:

Bước 3:

Bây giờ nó sẽ chuyển hướng đến trang “Thêm sản phẩm” và trong trang này, hãy nhấp vào nút “Thiết lập” trong “Đăng nhập Facebook”.

word image 112

Bước 4:

Nhấp vào nút “Web”.

Ngay lúc này bạn nhấn “thiết lập” -> Lúc này bạn sẽ được chuyến đến chọn nền tảng cho ứng dụng. Có 4 nền tảng đó là: iOS, Android, Web…

word image 113

Bước 5:

Trong phần “URL trang web”, hãy thêm url trang web của bạn và lưu nó.

word image 8

Lưu ý: Nếu trang “Quickstart” và bạn không thể nhập url tên miền, vui lòng chuyển đến phần “Cài đặt -> Based”, ngay bên dưới Trang tổng quan và sau đó nhấp vào “Thêm nền tảng” như hình bên dưới. Sau đó chọn “trang web” như dưới đây.

word image 114

Tiếp theo bạn chọn nền tảng “Website” như bên dưới

word image 115

Trong trang này, bạn có thể thêm url của trang web và lưu nó.

word image 116

Bước 6:

Các bạn truy cập “Đăng nhập Facebook” -> Setting

word image 117

Bước 7:

Ứng dụng đã sẵn sàng ngay bây giờ. Nhấp vào liên kết “Trang tổng quan hoặc Thông tin cơ bản” trong menu để xem id ứng dụng và bí mật.

word image 118

Như vậy ID ứng dụng và Bí mật ứng dụng hiện đã sẵn sàng. Nhấp vào nút “Hiển thị” để xem Bí mật của ứng dụng. (Bí mật của ứng dụng là bằng chữ và số và KHÔNG sử dụng ******* làm Bí mật ứng dụng.)

Bước 8:

Định cấu hình ID ứng dụng và Bí mật ứng dụng bằng plugin.

word image 119

word image 120

Như vậy bạn chỉ cần lấy ID ứng dụng và Bí mật ứng dụng dán vào 2 mục này là bạn có thể kết nối facebook với ứng dụng của mình. ( trong trường hợp này là kết nối Facebook với Website )

7. Vì sao phải lấy API Facebook

Khi nhìn vào hình ảnh dưới đây các bạn nghĩ đến điều gì nhỉ? Đó chính là đăng nhập một ứng dụng hoặc 1 trang web nào đó thông qua API Facebook phải không nào?

Nếu bạn là một nhà phát triển ứng dụng, bạn không tạo ra thể kết nối ứng dụng của mình với tài khoản người dùng, vậy điều gì sẽ xảy ra nhỉ? Tất nhiên là người dùng sẽ không sử dụng App của bạn nữa phải không nào.

Đi kèm với đó là những hệ lụy thì như: mất khách, mất uy tín…hay thậm chí xa hơn đó là đóng cửa doanh nghiệp.

word image 121

8.Kết

Như vậy bài viết này chúng tôi đã định nghĩa về API Facebook, cấu trúc API của Facebook….Và quan trọng hơn cả là cách lấy API Facebook từ Plugin nhanh, hiệu quả và chính xác.

API Facebook rồi, các bạn dễ dàng đăng bài viết một cách tự động lên Facebook, Twitter, Linkedin, Tumblr…

Cảm ơn các bạn đã đọc bài viết này, rất mong nhận được góp ý từ các bạn. Chúc các bạn thành công, nếu có gì thắc mắc hãy để lại bình luận bên dưới nhé.

Cảm ơn

https://towardsdatascience.com/how-to-use-facebook-graph-api-and-extract-data-using-python-1839e19d6999

https://levelup.gitconnected.com/get-acquainted-with-facebook-login-and-the-graph-api-d1e951e0a1da

https://www.techopedia.com/definition/28984/facebook-graph-api

https://www.nextscripts.com/instructions/facebook-native-api-social-networks-auto-poster-setup-installation/

đã cho phép chúng tôi tham khảo để hoàn thành bài viết này.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *